constructor({cache} = {}) {
        this.utils = urlUtils;
        this.cache = cache;
        this.finished = false;
        this.urlGenerators = [];

        // Get urls
        this.queue = new Queue();
        // NOTE: Urls and Resources should not be initialized here but only in the init method.
        //      Way too many tests fail if the initialization is removed so leaving it as is for time being
        this.urls = new Urls();
        this.resources = new Resources({
            resourcesConfig: resourcesConfig,
            queue: this.queue
        });

        this._listeners();
    }
@param {Object} [options]
@param {Object} [options.cache] - cache handler instance
@param {Function} [options.cache.read] - read cache by type
@param {Function} [options.cache.write] - write into cache by type