Refactored GoF Observer to Rx Observer

This really is the most ugly code I have ever written!