Added window class to wrap interaction with the window