$this->name, 'url' => $this->url, 'is_active' => $this->isActive, ]; } public function withActiveState(bool $isActive): self { return new self( name: $this->name, url: $this->url, isActive: $isActive ); } public function isClickable(): bool { return $this->url !== null && ! $this->isActive; } }