The Practical Dev's review of Design Patterns: Observer Pattern