A asynchronous task is a unit of work that runs in parallel to the caller and may take a considerable amount of time to complete, i.e. several seconds, minutes or even hours. This interface provides mechanisms for tracking and canceling such tasks.