init({routeSettings, urlService}) {
        this.urlService = urlService;
        debug('routing init', routeSettings);

        this.registry.resetAllRouters();
        this.registry.resetAllRoutes();

        // NOTE: this event could become an "internal frontend" in the future, it's used has been kept to prevent
        //       from tying up this module with sitemaps
        events.emit('routers.reset');

        this.siteRouter = new ParentRouter('SiteRouter');
        this.registry.setRouter('siteRouter', this.siteRouter);

        if (routeSettings) {
            this.start(routeSettings);
        }

        return this.siteRouter.router();
    }
The `init` function will return the wrapped parent express router and will start creating all
routers if you pass the option "start: true".

CASES:
  - if Ghost starts, it will first init the site app with the wrapper router and then call `start`
    separately, because it could be that your blog goes into maintenance mode
  - if you change your route settings, we will re-initialize routing

@param {RouterConfig} options
@returns {import('express').Router}