IWorkItemDispatcher
An IWorkItemDispatcher handles execution of work items.
Cancel the ongoing run completely.
If no run is in process, the call has no effect.
Dispatch a single work item for execution. The first
work item dispatched is saved as the top-level
work item and used when stopping the run.
Start execution, performing any initialization. Sets
the top level work item and dispatches it.