Make Tasks cancelable

Heya, i wish tasks would be cancelable.
Imagine i have a task, that i want to run when someone leaves a Capture Area Zone and restart when someone enters it.
The current solution is:

cancelable_task<public> := class
{
    Task<public>:task(void)
    CancelEvent<public>:event()
}

CancelableFunction<internal>(Function:type{_()<suspends>:void}, CancelEvent:event())<suspends>:void =
{
    race:
        RetVal := Function()
        CancelEvent.Await()
}

CancelableSpawn<public>(Function:type{_()<suspends>:void}):cancelable_task =
{
    CancelEvent := event(){}
    Task:task(void) = spawn{CancelableFunction(Function, CancelEvent)}
    cancelable_task{Task:=Task, CancelEvent:=CancelEvent}
}

The optimal solution would be if we could just cancel tasks instead of having to await in a race condition.

@Daigoro Thank you for your feedback. While I cannot guarantee a response, I can confirm that this has been forwarded to the appropriate team.