Single responsibility refactoring