Extract HttpClientInterface from HttpClient.
Add HttpCache.