Design Pattern Series: The Observer Pattern