Assignment to demonstrate usage of the Observer Pattern