We've done this in the API already, but we had a single CAStore interface that did Keysets and SSHCredentials. Separate out SSHCredentials into SSHCredentialStore, and start using API objects as our primary representation.