code: public function signup()
      {
          if ($this->validate()) {
              $user = new User();
              $user->username = $this->username;
              $user->email = $this->email;
              $user->setPassword($this->password);
              $user->generateAuthKey();
              if ($user->save()) {
                  return $user;
              }
          }
  
          return null;
      }
docs: Signs user up.
  
  @return User|null the saved model or null if saving fails