I'm actually not sure we want to include keyring as a core part of openpgp.js, I think it should be transitioned to a more optional component. Generally, we should consider making things that contain state as add ons. 

Config is obviously difficult because we have to use the config to make decisions. That is why I've partially switched the way the default config works, I think we should load the default and provide for an easy way to override it.