code: public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target)
      {
          $extra = $target->getExtra();
          if (empty($extra['class'])) {
              throw new \UnexpectedValueException('Error while installing '.$target->getPrettyName().', composer-plugin packages should have a class defined in their extra key to be usable.');
          }
  
          parent::update($repo, $initial, $target);
          $this->composer->getPluginManager()->registerPackage($target, true);
      }
docs: {@inheritDoc}