Nito.AsyncEx.CancellationTokenTaskSource<T>
Holds the task for a cancellation token, as well as the token registration. The registration is disposed when this instance is disposed.
Gets the task for the source cancellation token.
Creates a task for the specified cancellation token, registering with the token if necessary.
Disposes the cancellation token registration, if any. Note that this may cause Task to never complete.