Reimplement NewKey
Use uint64 for userId; output args