rumspiel.
make Contract::Hash and :JSON almost like Forms so they setup the ghost object graph.