code: public function register()
      {
          if ($this->getIsNewRecord() == false) {
              throw new \RuntimeException('Calling "' . __CLASS__ . '::' . __METHOD__ . '" on existing user');
          }
  
          if ($this->module->enableConfirmation == false) {
              $this->confirmed_at = time();
          }
  
          if ($this->module->enableGeneratingPassword) {
              $this->password = Password::generate(8);
          }
  
          $this->trigger(self::USER_REGISTER_INIT);
  
          if ($this->save()) {
              $this->trigger(self::USER_REGISTER_DONE);
              if ($this->module->enableConfirmation) {
                  $token = \Yii::createObject([
                      'class' => Token::className(),
                      'type'  => Token::TYPE_CONFIRMATION,
                  ]);
                  $token->link('user', $this);
                  $this->mailer->sendConfirmationMessage($this, $token);
              } else {
                  \Yii::$app->user->login($this);
              }
              if ($this->module->enableGeneratingPassword) {
                  $this->mailer->sendWelcomeMessage($this);
              }
              \Yii::$app->session->setFlash('info', $this->getFlashMessage());
              \Yii::getLogger()->log('User has been registered', Logger::LEVEL_INFO);
              return true;
          }
  
          \Yii::getLogger()->log('An error occurred while registering user account', Logger::LEVEL_ERROR);
  
          return false;
      }
docs: This method is used to register new user account. If Module::enableConfirmation is set true, this method
  will generate new confirmation token and use mailer to send it to the user. Otherwise it will log the user in.
  If Module::enableGeneratingPassword is set true, this method will generate new 8-char password. After saving user
  to database, this method uses mailer component to send credentials (username and password) to user via email.
  
  @return bool