cleanups and optimizations
cleanups
Create GuiWindow that abstracts windows with GUI