code: function(sheets) {
  		var sheet = sheets.shift();
  		if (sheet) {
  			w(sheet);
  			var isLess = (sheet.slice(-4) == "less");
  			if (isLess && (opt.less !== undefined)) {
  				sheet = sheet.slice(0, sheet.length-4) + "css";
  				isLess = false;
  				w(" (Substituting CSS: " + sheet + ")");
  			}
  			var code = fs.readFileSync(sheet, "utf8");
  			if (isLess) {
  				var parser = new(less.Parser)({filename:sheet, paths:[path.dirname(sheet)]});
  				parser.parse(code, function (err, tree) {
  					if (err) {
  						console.error(err);
  					} else {
  						addToBlob(sheet, tree.toCSS());
  					}
  					readAndParse(sheets);
  				});
  			} else {
  				addToBlob(sheet, code);
  				readAndParse(sheets);
  			}
  		} else {
  			doneCB(blob);
  		}
  	}
docs: Pops one sheet off the sheets[] array, reads (and parses if less), and then recurses again from the async callback until no sheets left, then calls doneCB