refactoring: added AbstractTask