Chapter 6. The Observer Pattern – Keeping Objects in the Know