Finish the Observer Pattern