Add [CancellationToken support](https://docs.microsoft.com/en-us/dotnet/standard/threading/cancellation-in-managed-threads) for async operations.