Refactoring: change the application's architecture