Decouple OAuthUserProviderInterface from UserProviderInterface