I agree that presets should be set somwhere but in my opinion they should be set somwhere in medical module.
It is very difficult to guess that module named ViewControllers
and that is aimed at some widget manipulation brings some medical staff to SlicerCAT.
To figure that out I started launching SlicerCAT with disabled modules. The first module to disable was Endoscopy
(though I don’t know how I included it to app) because it is very obvious to think that medical modules makes medical changes and I was very surprised when I discovered that at ViewControllers
I’m not familiar with most medical modules that Slicer uses but I think such things should be implemented there (I can’t tell where exactly). Or probably make some GUI-less module where one does especially medical customization like manipulation with presets. Then those developers who work on SlicerCAT could disable this module and create his own (though I couldn’t do GUI-less module that is completely hidden yet but believe that is possible, I remember I created topic on that on this forum).
I think this would bring some complexity for developers. Slicer already has well structured philosophy with scene, views, slices, nodes, modules, superbuild etc and I think adding signals to control such things is like using insulating tape to weld metall.
The only solution I can see is to try to keep medical staff in medical modules.
P.S.
Sometimes I need to make changes in Slicer core that is not appropriate for medical goals (like resizing slice view while preserving field of view or aspect ratio) and for this I use cpp tool or python tool that replaces selected function implementation during build time and thus allowing to use it in superbuild. Of course I’m trying to make core changes as less as possible