title: Gulp: passing parameters to task from watch declaration
body: <p>The problem: I want to maintain 'collections' of files. This will help with build times, and flexibility. for example, everytime i  edit my app.js file, I don't want to re-compile all my twitter bootstrap files.</p>
  
  <p>I can certainly achieve this with 2 tasks and 2 watch declarations - the problem is that the tasks are identical save for the files array. Ideally I would like to pass through these as parameters in the watch declaration Is there a way to do something like the following psuedo-code?:</p>
  
  <pre><code>var files = {
      scripts: [
          'www/assets/scripts/plugins/**/*.js', 
          'www/assets/scripts/main.js', 
      ],
      vendor: [
          'vendor/jquery/dist/jquery.js',
          'vendor/jqueryui/ui/jquery.ui.widget.js',                       
          'vendor/holderjs/holder.js'
      ],              
  };
  ...
  
  
  gulp.task('js', ['lint'], function (files, output) {
      return gulp.src(files)
          .pipe(debug())
          .pipe(concat(output))
          .pipe(uglify({outSourceMap: true}))
          .pipe(gulp.dest(targetJSDir))       
          .pipe(notify('JS minified'))
          .on('error', gutil.log) 
  });
  
  ...
  
  gulp.watch('scripts/**/*.js', ['lint', 'js'], files.scripts, 'app.min.js');
  gulp.watch('vendor/**/*.js', ['lint', 'js'], files.vendor, 'vendor.min.js');
  </code></pre>
  
  <p>Flipping round another way: is to namespace the watch declaration that called the task? That way I could check which watch triggered the task, and conditional those things within the task itself.</p>