We should be using the features included by Devise for this.