We shouldn't assume that replacing is always fine. When the key is already there, I would throw an error so we don't accidentally overwrite something. Instead, we can just return an error. If the user wants to replace the key, he should run `removeKey` first