There is only one "cancellable" flag and it applies to the whole TaskEngine.  You can't break it down to individual tasks (safely) because you can only "wrap" an entire task engine run, not a task with this hook.

Plus, we actually have no hook to cancel an individual task anyway.  That'd be a separate PR where we *would* design a Cancellation system.   Given how most tasks are implemented, I think that feature isn't really worth implementing. This gives us 99% of what we need (at the TaskEngine) level.