IWorkItemDispatcher
An IWorkItemDispatcher handles execution of work items.
            
                
The level of parallelism supported. Zero if not supported.
            
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.