I am trying to make a simple game engine that can display objects to the screen. I intend to implement a collection of Entity* where each Entity is the representation of an object, such as the image to use when drawing it on the screen, its various properties, what happens when it's clicked, etc. Of course, I'll have many more classes that inherit from Entity, but they will all follow that basic structure. My question is: should each instance of Entity (or a child class) be aware of its position on the screen, or should that be left to the class which owns the collection where the Entity* are stored, and which manages how all Entity are displayed?
Which design choice will give me the most flexibility and ease of use later on?
Thank you for your help.