What I am doing rn is that on the serverside I have a playerController and a gameController, in wich you can call services such as dataService or roundService. I then load the modules with a single serverscript.
On the clientside you would have a module that handles the ui related stuff and effects with remotevents or remotefunctions.
Data is handled using ProfileStore and attributes, for cleanup I use Throve and for signals you could use Signal+ or GoodSignal.
Hope this helped