extract out DefaultScheduler
run the task via worker
make task run itself
add event booking