Begin rewrite.

* Use standard markdown
* Decoupled, event-based model with event data