Add a couple tests and refactor(ish) User#providers