Implement the basics of the DataState class.

There is still some work to do here in implementing the two functions that
will enable child states to be merged back into their parent.