6.2.4 How to Implement the Observer Pattern