... and simplify, using a std::atomic instead of a critical section.
(But did this before, and does this now, correctly synchronize across threads?
I defer that question.)
... though in a small cycle with each other, by moving RealtimeEffectManager to
new files, which remain in the big component.
Net loss of 1, the big component now has 27 files