Remove ids from domain objects by pushing responsibility down into the Store module, and by adding an identity map.
Remove state from Unit and Mutant to form immutable core types.