Wrapper for reactor.callLater() aware the time scalling.
    This method should always be used instead directly touching the reactor.
    See: L{twisted.internet.interfaces.IDelayedCall.callLater}.

def call_later(_seconds, _f, *args, **kwargs):
    '''
    Wrapper for reactor.callLater() aware the time scalling.
    This method should always be used instead directly touching the reactor.
    See: L{twisted.internet.interfaces.IDelayedCall.callLater}.
    '''
    cur_scale = _get_scale()
    if cur_scale == 1:
        return reactor.callLater(_seconds, _f, #@UndefinedVariable
                                 *args, **kwargs)
    else:
        _seconds = _seconds * cur_scale
        call = reactor.callLater(_seconds, _f, #@UndefinedVariable
                                 *args, **kwargs)
        return ScaledDelayedCall(cur_scale, call)