code: @Override
      <Result> String execute(final Callable<Result> callable,
                              final TaskCallback<Result> callback,
                              final Object caller) {
          checkArguments(callable, caller);
          return execute(TaskBuilder.create(callable).with(caller).
                  callback(callback).on(this).done());
      }
docs: 执行异步任务，回调时会检查Caller是否存在，如果不存在就不执行回调函数
  
  @param callable Callable对象，任务的实际操作
  @param callback 回调接口
  @param caller   调用方，一般为Fragment或Activity
  @param <Result> 类型参数，异步任务执行结果
  @return 返回内部生成的此次任务的TAG