def register(self, request, **kwargs):
     """
     Create and immediately log in a new user.
     
     """
     username, email, password = kwargs['username'], kwargs['email'], kwargs['password1']
     user = User()
     user.username = username
     user.email = email
     user.set_password(password)
     user.save()
     
     # authenticate() always has to be called before login(), and
     # will return the user we just created.
     new_user = authenticate(username=username, password=password)
     login(request, new_user)
     return new_user