public function withDescription(string $description) : self { $metadata = clone $this; $metadata->description = $description; return $metadata; }