Dlaczego CancellationToken jest oddzielony od CancellationTokenSource?

Szukam uzasadnienia, dlaczego CancellationTokenstruktura .NET została wprowadzona jako dodatek do CancellationTokenSourceklasy. Rozumiem, jak należy używać interfejsu API, ale chcę również zrozumieć, dlaczego jest tak zaprojektowany. To znaczy, dlaczego mamy: var cts = new...