This seems fine to me, but we should remember (I think it was Gustavo who mentioned this?) the problem of how Coinpunk exposes its private keys to the console ... we should make sure to use closures properly to hide any private keys or public keys unless they need to be exposed. Of course we will still need the decrypt and encrypt functions you have here... maybe the wallet itself is whats hidden in a closure.