For a 2D game I'm making (for Android) I'm using a component-based system where a GameObject holds several GameComponent objects. …