Refactor some of the on_process_start usages
Make scheduler deal directly with tasks