Better isolation and abstraction for OAuth2ServiceProvider.