Refactored main window to derive from base-view instead of being a struct