protected function reset(string $name, callable $callback = null)
    {
        if (!isset($this->cache[$name])) {
            return;
        }

        if ($callback !== null) {
            call_user_func($callback, $name, $this->cache[$name]);
        }

        unset($this->cache[$name]);
    }