Revert repeated state changes

Instead stores the summary and details in the current state hash; closer to what was intended in #221.

Also a test, because we like tests.

Fixes #235.