_moduleAppend(source, data, callback) {
    if (this._state.aborted) {
      callback();
      return;
    }
    this._module.append(
      source,
      data,
      function (err) {
        this._task = null;
        if (this._state.aborted) {
          this._shutdown();
          return;
        }
        if (err) {
          this.emit("error", err);
          setImmediate(callback);
          return;
        }
        /**
         * Fires when the entry's input has been processed and appended to the archive.
         *
         * @event Archiver#entry
         * @type {EntryData}
         */
        this.emit("entry", data);
        this._entriesProcessedCount++;
        if (data.stats && data.stats.size) {
          this._fsEntriesProcessedBytes += data.stats.size;
        }
        /**
         * @event Archiver#progress
         * @type {ProgressData}
         */
        this.emit("progress", {
          entries: {
            total: this._entriesCount,
            processed: this._entriesProcessedCount,
          },
          fs: {
            totalBytes: this._fsEntriesTotalBytes,
            processedBytes: this._fsEntriesProcessedBytes,
          },
        });
        setImmediate(callback);
      }.bind(this),
    );
  }
Appends an entry to the module.

@private
@fires  Archiver#entry
@param  {(Buffer|Stream)} source
@param  {EntryData} data
@param  {Function} callback
@return void