It is interesting to see that most frameworks will force you to use a pattern that you should clearly avoid. We all have learned that
having something like GameObjects and call an update method in every object is bad due to cache misses and so on. This is the gap
that actually ECS tries to eliminate. So in general it is bad practice to do it like Cocos2d.
On the other hand how would you do it when you are such a framework designer? This is the only currently somehow accepted solution.
Since there still is no common vision how a ECS should be designed and there are many different solutions out there it is safe to
fall back to such an approach. But still it is bad design.