Decouple Typhoeus from HttpRequest and create a generic RequestAdapter class where you can create plugin adapters