Every time I find myself connecting to a third-party API that doesn't have a client library I have to create a lot of boilerplate around it: