Сегодня тока в баре обсуждали, убери наследование и абстрактные классы и фиг у тя чет большое выйдет нормально сделать, оно выходит плохотестируемое и сильно связанно, диай решает эти проблемы по-другому, но у диай глобального есть свои приколы, нельзя в двух местах по разному подменить то что сверху спустили, так как в одном месте подменишь и оно везде сменит, модули решают эту проблему, диай внутри диай как бы