remove http related logic and expect a HttpClient to be provided