$details */ public function __construct( Room $room, protected Participant $participant, protected string $property, protected string|int $newValue, protected string|int|null $oldValue = null, protected array $details = [], ) { parent::__construct($room); } public function getParticipant(): Participant { return $this->participant; } public function getProperty(): string { return $this->property; } public function getNewValue(): string|int { return $this->newValue; } public function getOldValue(): string|int|null { return $this->oldValue; } /** * @param self::DETAIL_* $detail */ public function getDetail(string $detail): ?bool { return $this->details[$detail] ?? null; } }