Re: Чи є тут Senior Developers та хто може зробити ревю?
iovchynnikov працюючи на довгостроковому проекті я зрозумів що робити композицію легше і безпечніше ніж наслідувати обєкти. 
Робити мікс функціоналу з композицією можна без проблем. А що робити з наслідуванням?
Наприклад у анс буде LoggablePuzzle extends Puzzle який містить функціонал - відправляй у лог всі букви які відкриваються. 
І тут у вас появляється задача. Якщо стається exception у методі open ви маєте також відправити його у лог, але уже у інший. І викинути exception нагору, кого тоді наслідувати і як 
 Як на мене пазл в пазлі ані з технічної точки зору, ані з пункту бачення домену не є валідним (логічно) кейсом. But up to u