Mediator: By encapsulating complex update semantics, the ChangeManager acts as mediator between subjects and observers.
Singleton: The ChangeManager may use the Singleton pattern to make it unique and globally accessible.