refactored GameWindow. Not finished, needs consistency