refactor task / split concerns in multiple classes