Use pointer-approach for UI to decrease compile time
I want to suggest using the pointer style of using .ui-files, which works by owning a pointer to the ui, instead of our multiple inheritance approach currently taken.
This has the advantage that we could forward declare the ui-pointer in the header file. So if I change e.g. control.ui, only control.cpp gets recompiled, instead of everything depending on it (which currently is roundabout anything).
Also (just an idea), the ui-Pointer could be injected, which means we could see the ui-file as View in Model-View-Controller and mock it to test the Controller.