Provide an ugly interface for state, making it easier to encapsulate things
Merge branch 'fix-give-state-an-actual-api'