$data */ private function __construct(public readonly string $status, public readonly string $reason, public readonly array $data, public readonly ?string $confirmation) { } public static function denied(string $reason): self { return new self('denied', $reason, [], null); } public static function needsConfirmation(string $token): self { return new self('needs_confirmation', 'confirmation_required', [], $token); } /** @param array $data */ public static function ok(array $data): self { return new self('ok', '', $data, null); } }