Cancelation status only checked at the end of an async action
Renamed class 'task' to 'action'