code: protected <RESULT> Task.Monitor<RESULT> runTask(final Task<RESULT> task) {
          return runTask(executorService, task, null);
      }
docs: Run a task on threads supplied by injected {@link ExecutorService} without a callback. By
  default it runs tasks on separate threads by {@link ExecutorService} injected from AndroidMvc
  framework. A simple {@link ExecutorService} that runs tasks on the same thread in test cases
  to make the test easier.
  
  <p><b>
  User the protected property {@link UiThreadRunner} to post action back to main UI thread
  in the method block of {@link Task#execute(Task.Monitor)}.
  </b></p>
  <pre>
  uiThreadRunner.post(new Runnable() {
  @Override
  public void run() {
  view.update();
  }
  });
  </pre>
  
  @param task            The task
  @return The monitor to track the state of the execution of the task. It also can cancel the
  task.