The current implementation of zynthian has grown way beyond what it was initially intented to do, and this means it’s a bit monolithic, so yes, you are correct, the gui is deeply intertwined with everything else.
There has been discussion (search API in the forum) about abstracting away the functional and the GUI parts of the code via an API, pub-sub seems like a good proposal as well, but, as of right now, nobody has had the time to code it and make such substantial changes to the codebase, and, therefore no architecture efforts have been fully established with that goal in mind.
I think there is a real benefit to such solution and would be eager to collaborate with either the architecture or the implementation (or both).
Honestly, my first task in this regard would be to refactor the whole code to PEP8 with a tool like black · PyPI and to eliminate/merge duplicated locations/folders/plugins/configs.
basically, some housekeeping to make sure things are organized before getting down to the nitty-gritty