feat(master): improve the API

BREAKING CHANGE: This breaks the API for creating a new client, but maintains backwards compatibility for the client object itself.
Release 2.0.0