Only a single save in AbstractKey.save()

This works around the issue brought up in pull request #6