Allow for custom IAuthRepository implementations. This gives developers greater control over tokens (i.e. being able to persist a token when it is refreshed for later use)