Slight tweak to updating description call.
Fixed a number of bugs with history tracking and checking of history. Moved state management into its own object, and added some new states to test.