Observer

This Design Pattern stems from [DP95], pp. 293. There the pattern is described as:

"Define a one-two-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. "