only include "data" in the object if it was passed in the constructor
track the parent process ID
Supply a method for handling fatal errors in the state machine
Change the way success and failure responses are handled

Instead of using a runtime-created base method which forwards to the status-specific
methods, it instead has a closure generator which then forwards to the status-
specific methods.

Note that renew response is still handled by a regular method
Fix a bug where the client watcher was not getting stored properly
use Message objects instead of slinging around hashrefs
WIP getting the keychain_daemon test working