code: function specToWatcherObj (watcherInstance, spec, options) {
    const dest = options.dest
    return new Promise((resolve, reject) => {
      const watcher = chokidar.watch(spec.files, {cwd: options.dir})
        .on('ready', () => {
          resolve({
            watcher: watcher,
            spec: spec
          })
        })
        .on('error', (err) => reject(err))
        .on('add', (path) => watcherInstance.emit('add', fileOptions.createFileUsingSpec(path, spec, dest)))
        .on('change', (path) => watcherInstance.emit('change', fileOptions.createFileUsingSpec(path, spec, dest)))
        .on('unlink', (path) => watcherInstance.emit('remove', fileOptions.createFileUsingSpec(path, spec, dest)))
    })
  }
docs: /* Takes a spec, and returns a chokidar watcher along with the spec