protected function setTraverse($key, $value)
    {
        $parts = explode('.', $key);
        $ref = &$this->values;

        foreach ($parts as $i => $part) {
            $ref = &$ref[$part];
        }

        $ref = $value;
        return $this;
    }