Add an in-memory persistence layer, gets tests running with it.
Make the in-memory persistence use clones of objects, to better
replicate using a database.
Stamp the completion date.