def METHOD_NAME(self, jobid: str, title: str, target: Callable, args: Tuple = ()):
    """Starts a threaded job.
    The ``target`` function will be sent, as its first argument, a :class:`.Job` instance which
    it can use to report on its progress.
    :param jobid: Arbitrary identifier which will be passed to ``finish_func()`` at the end.
    :param title: A title for the task you're starting.
    :param target: The function that does your famous long running job.
    :param args: additional arguments that you want to send to ``target``.
    """
    # target is a function with its first argument being a Job. It can then be followed by other
    # arguments which are passed as `args`.
    self.jobid = jobid
    self.progressdesc_textfield.text = ""
    j = self.create_job()
    args = tuple([j] + list(args))
    self.run_threaded(target, args)
    self.jobdesc_textfield.text = title
    self.view.show()