A different approach: maintaining a list-in-progress of items worth keeping.
Broke the keystore code into a separate source file
Merge branch 'keystore'