The model-view architecture
Publish-and-subscribe
Linear history
Persistent storage