*/ class GenerateSecurePasswordEventListener implements IEventListener { /** @var Generator */ private $generator; public function __construct(Generator $generator) { $this->generator = $generator; } public function handle(Event $event): void { if (!($event instanceof GenerateSecurePasswordEvent)) { return; } $event->setPassword( $this->generator->generate($event->getContext()), ); } }