Renamed addObserver to registerObserver
Merge branch 'observers' into master-fixed
Changed observers to require observer factories
Merge branch 'observers' into master-fixed