Also, there should really be a hierarchical concept like in wallets. I don't want to give everyone the same public key. I want to hand out a different public key to every person. That way it would be obvious if they sell my contact data, and I could trash that pubkey.