EnemyCollider can have multiple observers
reset the game after collision with enemy
EnemyGenerator can have observers
EnemyRenderer implements EnemyGeneratorObserver
no longer need to recreate EnemyRenderer on collision
EnemyCollider implements EnemyGeneratorObserver
EnemyCollider is now also an observer of EnemyGenerator
integrated everything; player position is reset to center after game reset