We'll I think this extension method is wrong to begin with. Go back to your original design. The extension method wasn't supposed to change a property (see my comments below). IWebRequestCreate is an implementation detail not an abstraction (as far as SignalR is concerned).