Our CLI shared some data structures, like the pulseaudio connection with the GUI.
This could lead to issues where the UI would break when code on the CLI was changed
because the the GUI must handle things differently, by nature of working differently.
Add more separation between those, so changes on the CLI are less likely to break the GUI.