In my opinion, componentization has been a very good architecture design decision for games as it provides a lot of reusability as well as elegance. In games, try to prefer components over inheritance. I'll leave this references here:
Hope this helps!
Thank you skullfire, nice to know there is a pattern at least which is well established into game development
I will give that articles a read.