$attributes */ public function __construct( public readonly string $type, public readonly int|string $id, public readonly int $siteId, public readonly ?int $ownerUserId = null, public readonly ?int $ownerSessionId = null, public readonly array $attributes = [], ) { } public function attr(string $key, mixed $default = null): mixed { return $this->attributes[$key] ?? $default; } }