Refactor: introduced the idea of an interactor