Initial draft of observer
Refactored model to use observer
Removing unused exception
Updated readme to reflect changes