Go the safest way.
Merge branch 'util_task_initial' into integration
Add cancellation support to util::Task.