$listIds * @param array $listStates */ public function __construct( public readonly string $email, public readonly array $listIds, public readonly string $state, public readonly bool $confirmationRequested, public readonly array $listStates = [], ) { } public function stateForList(int $listId): string { return $this->listStates[$listId] ?? match ($this->state) { self::STATE_SUBSCRIBED => self::LIST_STATE_SUCCESS, default => self::LIST_STATE_PENDING, }; } }