public function getDispatcher(): Dispatcher
    {
        if ($this->forceReload || !file_exists($this->cacheFile)) {
            $dispatchData = $this->buildCache();
        } else {
            /** @noinspection PhpIncludeInspection */
            $dispatchData = require $this->cacheFile;
        }

        return call_user_func($this->dispatcherFactory, $dispatchData);
    }