Simplified the API by making CancellationTokens optional params