Merge Hc4ProviderBase into Hc4ProviderImpl, reduce base methods to private or packge private with @VisibleForTesting