Merge work from wip-autosave

This is a larger set of changes than I intended... I probably should have used more branches and submitted pull requests more often. :)