Create FullWindow and SubWindow classes.
All of the other windows will be derived from these in order to keep
Reimplement MainWindow to use FullWindow.
Fix capitalization of MainWindow.
Reimplement RankWindow to use FullWindow.
Use prettier update method for SubWindow.
Instead of refreshing every one individually, refresh with the parent window.
Fix style issues.
Reimplement Button with SubWindow.
Reimplement TimeBox with SubWindow.
Reduce unnecessary drawing.
Don't explicitly touch every SubWindow on every update. Only syncup(). If it has been touched, it will sync that update to the top. Otherwise, the window will not be redrawn.
Reimplement textArea with subWindow.
Remove redundant initialization of window.
Reimplement textLabel with SubWindow.
Reimplement ToggleButton with SubWindow.
Remove redundant __getattr__() methods.
Fix style.
Fix calls to children in MainWindow update().
Remove redundant __getattr__() method.
Update all children of FullWindow with update().
Store all of the children in the elements dict, then iterate over the values of the dict, calling each update().
Reimplement curses in GUIMain.
Use curses.wrapper() within the GUIMain class.
Add input methods to GUIMain.