This method is used to decouple execution of task i.e. to have a task
executed in the context of a worker thread instead of in the context of
the calling thread.
Type Parameters:
T - type of the execution result
Parameters:
task - task to be executed
Returns:
a Future instance related to the result of the execution of the
task. Result can be retrieved via get method.