docs: function loop(loopGroup, loopItems) {
          return {
              task: function (taskName, human, gulpTask) {
                  let subtasks = [];
                  Object
                      .keys(loopItems)
                      .forEach(key => {
                          let loopTaskItem = `${loopGroup}:${taskName}:${key}`;
                          let value = loopItems[key];
                          subtasks.push(loopTaskItem);
                          let wrapGulpTask = (gulpTask? (done) => gulpTask(done, value) : undefined);
                          task(loopTaskItem, (args) => human({ ...args, loop: value }), wrapGulpTask);
                      })
                  _defineSequence2(
                      `${loopGroup}:${taskName}`,
                      subtasks
                  );
              }
          };
  
          function _defineSequence2(taskName, taskList) {
              _gulp.task(taskName, function (done) {
                  sequence(...taskList, function (error) {
                      if (error) {
                          console.log(error.message);
                      } else {
                          console.log(`${taskName} terminó OK`);
                      }
                      done(error);
                  });
              });
          }
      }