I'm not overly concerned with asserting against the `name` or `email` as those can change on GitHub's side. I just care about the `provider` and `uid`. That way I can update all the values afterwards rather than the first.

I do like the `first_or_initalize` bit. I always forget about that.