Maybe this should be created where `self._requests` is created in `setup_transport`? (Having them in different places confused me briefly). Would be really cool if this could share `._requests` but that seems like a fair bit of refactoring.