I'm not sure if this is right appproach. Why there is no Explosion mention in the code? You are just passing Widget to the Game. Also while defining Game you are creating new instance of Game inside Game class definition. How is Explossion associated to game.update?