stopTrack ({ state, dispatch }, opts) {
      let unload
      let track

      if (typeof opts === 'object') {
        unload = opts.unload
        track = opts.track
      } else {
        track = opts
        unload = false
      }

      const trackData = state.tracks[track]
      if (!trackData) {
        throw new Error('Invalid track specified')
      }

      const stops = Array.from(trackData.keys())
        .map(id => dispatch('stopSound', { id, unload }))

      return Promise.all(stops)
    }
Stops the specified track and clears current play data.  Removes all
currently playing sounds.  Calling stop on a paused track clears
all data.

@param opts {string} name of track to stop.

@param opts.track {string} name of track to stop
@param opts.unload {boolean} unload / cleanup the sound

@return Array of sound IDs that were stopped

@throws {Error} when invalid track specified