injecting http client and providing factory for easily overriding adapter