I was following a tutorial that was recommended to me to learn the basics of game design through XNA. And I got to this tutorial: http://www.xnadevelopment.com/tutorials/thewizardshooting/thewizardshooting.shtml This is the tutorial that shows management of dynamic object generation and handling. In the tutorial, he links the "Fireball" class to the "Wizard" class. The wizard class maintains a `List<Fireball>` and they're updated, drawn, loaded, etc. within the Wizard class itself. My question is this: Is this good design? Should the Producer of the Objects be the one to manage them, or would it be better to implement, say, a `ProjectileHandler` class, that could manage the fireballs shot both by the `Wizard` and the `Evil Dragon`?