otw - Working on the design by contract for actions.
otw - Hopefully a better merge.  Looks better anyway.