Good point! 
This is exactly what I was struggling with in #302 . The main problem is that the `AbstractProvider` defines the constructor signature. Thus I was about to propose to change the typehint to something like `AdapterInterface` in order to have the ability to use a different adapter. But that would mean that we have to adapt all the HttpAdapters, as well as the directory structure/namespaces to unify that.

But as @willdurand mentioned that would break the library's philosophy.