I feel like this is generic functionality that might belong somewhere else. Maybe URLMonPatchBase for now. Or URLMonPatchBase could derive from another class that holds some of the generic non-UrlMon-specific stuff.