@Singleton
public class ClientProvider<S,A>
extends Object
implements com.google.inject.Provider<S>
ClientProvider makes the primary interface for the provider context. ex. context.getProviderSpecificContext().getApi() is created by ClientProvider, which is a singleton