Comment
Comment by StavrosK
What if the two services have different features, even slightly? The protocols are instantly incompatible. The problem is that the feature set, and thus the protocol, is strongly tied to the provider, and decoupling the two doesn't make much sense.