We might as well have a constructor that takes a http client for testing purpose to avoid the reflection in unit test.