Great point. I feel like the one that doesn't quite feel right in that dependency graph is HttpClientFactory -> Censored. I wonder how big an impact it would have to force callers to somehow make that decision? I like embedding it in HttpClientFactory from a correctness perspective (embedding that logic as close to the actual network call as possible to avoid errors), but conceptually it seems like an odd coupling.