The process behavior is now a gen_server

* Convert `process` to use the `gen_server` behavior.
* Fix lots and lots of bugs.