code: public static void invokeTask (String name, Task task, TaskObserver observer)
      {
          // create a task runner and stick it in our task table
          TaskRunner runner = new TaskRunner(name, task, observer);
          _tasks.put(name, runner);
          // then start the runner up
          runner.start();
      }
docs: Instructs the task master to run the supplied task. The task is
  given the supplied name and can be referenced by that name in
  subsequent dealings with the task master. The supplied observer (if
  non-null) will be notified when the task has completed.