'Create a new job from a callable object.
Any positional arguments and keyword args given to this constructor
after the initial callable are passed directly to it.'

def __init__(self, func, *args, **kwargs):

    if (not callable(func)):
        raise TypeError('first    argument    to    BackgroundJobFunc    must    be    callable')
    self.func = func
    self.args = args
    self.kwargs = kwargs
    self.strform = str(func)
    self._init()
