Observer pattern fix for traditional use and added using by events