Another minor efficiency comment here: why use `string` for the ID? It can be `string()`ified at lookup, since that's just a little hex encoding, and stored as the `PGP` type from `nodes.go`.