private function withAttributeHelper(string $collection, string $key, string $value)
    {
        $newAttributes = $this->$collection->withAttribute($key, $value);

        $that = clone($this);
        $that->$collection = $newAttributes;

        return $that;
    }