RegisterObserver() already checks IsObserving, so you can drop the g_init if you like, though checking a bool will be quicker than std::find on a vector