Restructured.

Don't ship state around with events as though each event is the source of truth for the entire state.
Instead request some event without caring about the state.

Also alphabetized a bunch of stuff.

Fixes #186.
Merge pull request #194 from joneshf/ready/186

Restructured.