This is the public interface for Task which represents the result of an asynchronous computation.
Blocks until the task is complete.
Blocks until the task is complete or times out.