refactoring

 * split TaskController#constructor into several functions