Implementing Observer Pattern,
Start with Intro and Chapters