<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _call(callback, args=[], kwargs={}):
 """ Calls a callback with optional args and keyword args lists. This method exists so we can inspect the `_max_calls` attribute that's set by `_on`. If this value is None, the callback is considered to have no limit. Otherwise, an integer value is expected and decremented until there are no remaining calls """

    if not hasattr(callback, '_max_calls'):
        callback._max_calls = None

    # None implies no callback limit
    if callback._max_calls is None:
        return _call_partial(callback, *args, **kwargs)

    # Should the signal be disconnected?
    if callback._max_calls <= 0:
        return disconnect(callback)

    callback._max_calls -= 1

    return _call_partial(callback, *args, **kwargs)