A persistent stable object logs all updating method calls and stores checkpoints of the current state from time to time. The current state may be recovered by reading the last checkpoint and replaying the log since the last checkpoint.
A persistent object may be derived automatically from an existing object type simply by identifying the selected object type in the m3makefile.