This makes the contract more general and applicable to any GraphQL request, not necessary coupled to HTTP. Closes gh-42