generalize RequestDescriptor, ResponseDescriptor