A few things to consider with the Observer pattern:
- The Observer pattern should be used when you either don't know how many objects need to be changed when the subject changes or an object needs to notify other objects without assuming too much about the other objects
- Subject and observer are not tightly coupled in this situation so layering can remain intact
- The subject can broadcast information to observers but can still add and remove observers at any time
More information including a sample implementation is available here.