Added the ability to pass in your own API object and ignore the global default.
Added some docs
Merge functionality to allow passing of api objects bypassing global