Make code easier to maintain, extend, and review.
Recent revisions are kept. Restoring one creates a new revision.