Introduce TaskScheduler (WIP)