Hi Dimitar Ginev, thanks, that’s a great comment.
Given my experience with this specific task, I am aware things will eventually start to diverge a lot as you’re saying, and while they maybe do belong to some extent to the same hierarchy, things will likely get messy (and lol, they did!).
Generally, I agree with you: initially, we have little information to work with to know how things will diverge unless we’re working within a waterfall environment.
I think mixins help this to an extent; you can easily refactor if inheritance results in less code and the hierarchy works out nicely. I use Mixins as my primary means to share logic, but I don’t rule out inheritance at all.