Observer pattern (Design Patterns, GoF).