Composition over Inheritance: My refactoring recipe