Description: Couple subsystems via shared data (repository) Advantages: Components are independent (low coupling) Centralized state storage (good for backups) Dangers: Bottleneck / single point of failure