This method is the actual implementation of the job. By default, it calls
    the target function specified in the #Job constructor.

def run(self):
    """
    This method is the actual implementation of the job. By default, it calls
    the target function specified in the #Job constructor.
    """

    if self.__target is not None:
      return self.__target(self, *self.__args, **self.__kwargs)
    raise NotImplementedError