Use a concurrent system for Worker, cleanup Scheduler

Signed-off-by: Robert Xu <robxu9@gmail.com>