Signals() Singleton has a weird syntax
This issue is evident in the experimentmanager_manager.py in the activate conditions function:
for signal in self.signals.all_signals:
self.signals._signals[signal].emit()
What this does is that it emits signals for all of these so that the dialog can be updated if a different amount of objects is present in the particular module. So for example 2 cars is 1 condition. The other condition is 3 cars, it'll update it to 3.
But the name self.signals._signals[signal].emit() makes it very hard to understand that htat is whats going on.
We should maybe have something in the settings() singleton which is
_signals = {}
and then a nested _signals['activate_condition_signals'] = {}
So we know whats going on.