AnonymousSafeObserver<T>
This class fuses logic from ObserverBase, AnonymousObserver, and SafeObserver into one class. When an observer
needs to be safeguarded, an instance of this type can be created by SafeObserver.Create when it detects its
input is an AnonymousObserver, which is commonly used by end users when using the Subscribe extension methods
that accept delegates for the On* handlers. By doing the fusion, we make the call stack depth shorter which
helps debugging and some performance.