Refactored to use DrawableGameComponents