Refactor task_runner into real classes!