Make optionalKeys actually work.
Add facility for retaining self-saving objects.
Implement using selfSaving retain feature.