Right now, every runner has its own HTTP client code, including separate, identical `requests` and `errors` metrics + submission code for them.