The task scheduling service (#493) currently relies on an internal ticker to check the task context and get pending schedule/cancel requests. This puts a heavy load on the task scheduler (de/ser, frequent updates) and should be avoided by connecting the task scheduler directly to the transaction executer to know when someone is trying to update the task context