What properties of an instance do you think about when you decide whether to make a new thing a brand new type or a variation of an existing type.
For example. I could have just one text box and use instance variables to set the properties and control the content, font and other properties with those. I could create many text box types, each predefined with the important properties.
The key thing I can think of is whether they are the same prototype (sprite, text etc…) and whether they have the same behaviors.