From inheritance to traits
When I started this project I was quite fond of inheritance. Inheritance is great for a lot of things, but if you are inheriting more than 3 levels you’re either doing something particular or you are on you way to inheritance hell.