Adding the design pattern for an Observer