public function set(...$args): RegistryInterface
    {
        $separator = '--'. md5(uniqid()) . '--';

        switch (count($args)) {
            case 0:
                //there's nothing to set
                return $this;
            case 1:
                if (is_array($args[0])) {
                    $this->data = $args[0];
                }
                return $this;
            default:
                $value = array_pop($args);
                return $this->setDot(implode($separator, $args), $value, $separator);
        }
    }