A generic sizer and widget components, more abstraction, etc. etc.