added an abstraction of the gui in GameWindow