public Task Abort(Func <Task> cleanup)
 {
     _Clean = new AsyncActionWorkItem(cleanup);
     StopQueueing();
     return(_Clean.Task);
 }
 public Task Stop(Func <Task> cleanup)
 {
     _Clean = new AsyncActionWorkItem(cleanup);
     _TaskQueue.CompleteAdding();
     return(_Clean.Task);
 }