async push (fn, group = null) {
    return new Promise((resolve, reject) => {
      const task = { fn, group, resolve, reject }

      this._push(task)
    })
  }
/**
   * Pushes a new function onto the task-stack
   * @param {function} fn the async function to push
   * @param {String|Number|null} [group] the group identifier, consecutive tasks with the same group will be run in parallel or null for no group (will never run parallel)
   * @returns a Promise that resolves the way fn would have resolved
   */
Pushes a new function onto the task-stack
@param {function} fn the async function to push
@param {String|Number|null} [group] the group identifier, consecutive tasks with the same group will be run in parallel or null for no group (will never run parallel)
@returns a Promise that resolves the way fn would have resolved
Pushes a new function onto the task - stack @param { function } fn the async function to push @param { String|Number|null } [ group ] the group identifier consecutive tasks with the same group will be run in parallel or null for no group ( will never run parallel ) @returns a Promise that resolves the way fn would have resolved
async push (fn, group = null) {
    return new Promise((resolve, reject) => {
      const task = { fn, group, resolve, reject }
      this._push(task)
    })
  }
async push ( fn , group = null ) { return new Promise ( ( resolve , reject ) => { const task = { fn , group , resolve , reject } this . _push ( task ) } ) }
Pushes a new function onto the task-stack
 @param {function} fn the async function to push
 @param {String|Number|null} [group] the group identifier, consecutive tasks with the same group will be run in parallel or null for no group (will never run parallel)
 @returns a Promise that resolves the way fn would have resolved
Pushes a new function onto the task - stack @param { function } fn the async function to push @param { String|Number|null } [ group ] the group identifier consecutive tasks with the same group will be run in parallel or null for no group ( will never run parallel ) @returns a Promise that resolves the way fn would have resolved