protected override void Draw(GameTime gameTime)
 {
     OnPreDraw.Raise(this, new GameTimeEventArgs(gameTime));
     OnDraw.Raise(this, new GameTimeEventArgs(gameTime));
     base.Draw(gameTime);
     OnPostDraw.Raise(this, new GameTimeEventArgs(gameTime));
 }