Refactor RetryableHttpClient into its own class