Patterns

Observers

Model View Controller