Токен отмены в конструкторе задач: почему?

ОпределенныйSystem.Threading.Tasks.Task Конструкторы принимаютCancellationToken в качестве параметра:

CancellationTokenSource source = new CancellationTokenSource();
Task t = new Task (/* method */, source.Token);

Что меня смущает, так это то, что отвнутри тело метода для фактического получения переданного токена (например, ничего подобногоTask.CurrentTask.CancellationToken). Токен должен быть предоставлен через какой-то другой механизм, такой как объект состояния, или захвачен в лямбду.

Итак, для чего служит предоставление токена отмены в конструкторе?