Instead of the flat fieldspace that we have, actually have multiple request/response types, prefixed by the type (instead of using "oneof").