<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _checkColumns(self, varBind, **context):
 """Check the consistency of all columns. Parameters varBind: :py:class:`~pysnmp.smi.rfc1902.ObjectType` object representing new :py:class:`RowStatus` Managed Object Instance value being set on table row Other Parameters \*\*context: Query parameters: * `cbFun` (callable) - user-supplied callable that is invoked to pass the new value of the Managed Object Instance or an error. Notes ----- The callback functions (e.g. `cbFun`) have the same signature as this method where `varBind` contains the new Managed Object Instance value. In case of an error, the `error` key in the `context` dict will contain an exception object. Assume that row consistency check has been triggered by RowStatus columnar object transition into `active` state. """

        name, val = varBind

        (debug.logger & debug.FLAG_INS and
         debug.logger('%s: _checkColumns(%s, %r)' % (self, name, val)))

        cbFun = context['cbFun']

        # RowStatus != active
        if val != 1:
            cbFun(varBind, **context)
            return

        count = [len(self._vars)]

        def _cbFun(varBind, **context):
            count[0] -= 1

            name, val = varBind

            if count[0] >= 0:
                exc = context.get('error')
                if exc or not val.hasValue():
                    count[0] = -1  # ignore the rest of callbacks
                    exc = error.InconsistentValueError(msg='Inconsistent column %s: %s' % (name, exc))
                    cbFun(varBind, **dict(context, error=exc))
                    return

            if not count[0]:
                cbFun(varBind, **context)
                return

        colLen = len(self.name) + 1

        for colName, colObj in self._vars.items():
            instName = colName + name[colLen:]

            colObj.readGet((instName, None), **dict(context, cbFun=_cbFun))

            debug.logger & debug.FLAG_INS and debug.logger(
                '%s: _checkColumns: checking instance %s' % (self, instName))