added pollice's interfaces for observer pattern
empty reporter class
changes to refactor rename factory i guess
Merge branch 'mep' into sep
Refactored the factory so that each version is back to one method