||Long running tasks that implement
ProvidesTaskProgress will be able to tell the
task infrastructure about what progress they are making
||A long running task that implements
RequiresTaskInformation will be told about the
TaskDescriptor that describes the task.
||This interface is used by parts of the code that kick off tasks to give the task a "context" to operate in.
||TaskDescriptor decribes the state of a long running task.
TaskManager contains a collection of tasks that are long running.
||Class to represent a condition when searching for tasks.
||Can be used to either pull or listen to the progress of a long running task.
||A listener that is told when progress is made on a long running task.
||Interface that can be used by tasks to indicate progress.