title: gulp.watch - To return or not return
body: <p>The official documentation for <code>gulpjs/gulp</code> has a sample <code>gulpfile.js</code> which provides a <code>watch</code> task that has no <code>return</code> statement:</p>
  
  <p><code>gulp.task('watch', function() {
      gulp.watch(paths.scripts, ['scripts']);
      gulp.watch(paths.images, ['images']);
  });</code></p>
  
  <p>That approach fits my needs, because I want to watch over multiple sets of files with different tasks associated to each of them.</p>
  
  <p>But I've found in the community a few bold statements saying that <code>gulp.watch</code> should be returned, such as <a href="https://stackoverflow.com/a/29929941/5572030">this one</a>, that proposes the following code:</p>
  
  <p><code>gulp.task('watch', function() {
      return gulp.watch('./public/resources/jsx/project/*.js',['application'])
  });</code></p>
  
  <p>I understand that tasks should return, so that other tasks using them as part of their workflow are able to act accordingly to their async nature, but for the special case of a <code>watch</code> task, which is always the last in a list of tasks, there might make sense not to return it, making it possible to have multiple watches.</p>
  
  <p>Does that make sense? Can I safely omit the return from my <code>watch</code> task in order to be able to have multiple instances of <code>gulp.watch</code> in it?</p>