since this is a mutator, the function should be named `register_proto()`, right?