gulpfile.js
function _createTasks(tree, parent, tasks) {
	parent = parent || "";
	tasks = tasks || {};

	for (var id in tree) {
		if (tree[id].deps && tree[id].fn) {
			tasks[parentId(parent, id)] = tree[id];
		} else {
			_createTasks(tree[id], parentId(parent, id) + ':', tasks)
		}
	}

	return tasks;
}
function _createTasks(tree, parent, tasks) {
	parent = parent || "";
	tasks = tasks || {};

	for (var id in tree) {
		if (tree[id].deps && tree[id].fn) {
			tasks[parentId(parent, id)] = tree[id];
		} else {
			_createTasks(tree[id], parentId(parent, id) + ':', tasks)
		}
	}

	return tasks;
}
function _createTasks ( tree , parent , tasks ) { parent = parent || "" ; tasks = tasks || { } ; for ( var id in tree ) { if ( tree [ id ] . deps && tree [ id ] . fn ) { tasks [ parentId ( parent , id ) ] = tree [ id ] ; } else { _createTasks ( tree [ id ] , parentId ( parent , id ) + ':' , tasks ) } } return tasks ; }
Given a tree structure, create an object of tasks-ids against task objects.

@param {Object} tree				The directory tree from tree().
@param {string} [parent=""]		The current parent id.
@param {Object} [tasks={}]		The task object.
@returns {Object}				The flat object, tasks.
Given a tree structure create an object of tasks - ids against task objects .