"I wouldn't add the regex to GeneralNameReplacer, or register_name_pair to SubscriptionRecordingProcessor. I'd just have SubscriptionRecordingProcessor process response URLs the same way it processes request URLs. GeneralNameReplacer can already do what's needed, if you register a subscription as something to replace, meaning existing libraries relying on SubscriptionRecordingProcessor's implicit behavior would have to explicitly configure GeneralNameReplacer instead"