status === Status::VALID; } public function hasNoLicense(): bool { return $this->status === Status::NO_LICENSE; } public static function noLicense(): self { return new self(Status::NO_LICENSE, null); } public static function valid(License $license): self { return new self(Status::VALID, $license); } public static function invalid(License $license): self { return new self(Status::INVALID, $license); } public static function unknown(License $license): self { return new self(Status::UNKNOWN, $license); } }