Refactoring and separation of concerns