flesh out skeleton gen_server for state machine.