[ ] Let the Application constructor use Service::make_default by default
[ ] Let the Application constructor take factories in any order
[ ] Split UIManager into GraphicsManager and UIManager
UIManager handles the user interface state, i.e. the currently selected channel, the current screen (as a ScreenEnum only) and the state of the octave buttons
GraphicsManager Handles the actual drawing, mapping ScreenEnums to Screens etc.
create_
functions tomake_
Application
constructor useService::make_default
by defaultApplication
constructor take factories in any orderUIManager
intoGraphicsManager
andUIManager
UIManager
handles the user interface state, i.e. the currently selected channel, the current screen (as aScreenEnum
only) and the state of the octave buttonsGraphicsManager
Handles the actual drawing, mappingScreenEnum
s toScreen
s etc.