constructor(options) {
        super();

        this.downloadUrl = options.downloadUrl;
        this.downloadPath = options.downloadPath;
        this.expectedHash = options.expectedHash;
        this.version = options.version;
        this.releaseTimestamp = options.releaseTimestamp;

        /** @type {(number) => void} **/
        this.onProgressUpdate = () => {};
    }
@param {object} options
@param {string} options.downloadUrl
@param {string} options.downloadPath
@param {string} options.expectedHash
@param {string} options.version
@param {Date}   options.releaseTimestamp