IGraphQlClient is the blueprint of a valid GraphQL client.
To construct a graphQL client, extend this class. This class provide
out of the box implementation of client methods but they can be overridden.
Best use case for overriding is when defining a mock client. Check mocks.dart
for a concrete mocking implementation.