refactoring Worker => Task