More fine-grained change events.
Add toJSON and previous().