Moving Observer pattern implementation to M1 Project