создание задач с использованием цикла [gulp]

Я пытаюсь динамически создавать задачи (минимизировать и concat) на основеjsFiles объект.ключ даст имя файла назначения, а массив содержит файлы src, Когда я запускаю gulp, я вижу, как запускаются все имена задач, но в этом случае записывается только последний ключ - group2.js. Что здесь не так?

// imports here

var jsFiles = 
{
    group1:[file1.js,file2.js],
    group2:[file2.js,file3.js]
};

for (var key in jsFiles)
{
    gulp.task(key, function() {
        return gulp.src(jsFiles[key])
        .pipe(jshint())
        .pipe(uglify())
        .pipe(concat(key + '.js'))  // <- HERE
        .pipe(gulp.dest('public/js'));
    });
}

var defaultTasks = [];
for (var key in jsFiles)
{
    defaultTasks.push(key);
}
gulp.task('default', defaultTasks);

Ответы на вопрос(5)

Ваш ответ на вопрос