same question here: why do we need observers_ , removing_observers_ and running_observers_ ? Could it be simplified so that we have only observers_ ?