public function registerNamedValue($valueName)
    {
        if (isset($this->namedValues[$valueName])) {
            throw new \InvalidArgumentException("`$valueName` is already registerd.");
        }

        $this->namedValues[$valueName] = true;

        return $this;
    }