onmessage = function(e) {
	var base = e.data.splice(0, 1)[0];
	eval(base);
	var input = e.data.splice(0, 1)[0];
	var args = e.data;

	var rawStages = [
		'Started',
		{
			name: 'Reformat input files',
			stages: input.map(function(i) {
				return 'Reformat ' + i.name;
			})
		}
	];
	var progress = new Progress(createStages(rawStages));
	progress.getCurrentStage().complete();

	var results = input.map(function(i) {
		//debug(i); // useful for debugging
		i.content = i.content.replace(args[0], args[1]);
		progress.getCurrentStage().getCurrentSubstage().complete();
		return i;
	});
	progress.setData(results);
	progress.getCurrentStage().complete();
}

@@ -373,16 +373,42 @@
 ete();%0A%0A
+%09setTimeout(function() %7B%0A%09
 %09var res
@@ -440,16 +440,17 @@
 (i) %7B%0A%09%09
+%09
 //debug(
@@ -477,16 +477,17 @@
 bugging%0A
+%09
 %09%09i.cont
@@ -531,16 +531,17 @@
 %5B1%5D);%0A%09%09
+%09
 progress
@@ -594,16 +594,17 @@
 te();%0A%09%09
+%09
 return i
@@ -609,13 +609,15 @@
  i;%0A
+%09
 %09%7D);%0A
+%09
 %09pro
@@ -640,16 +640,17 @@
 sults);%0A
+%09
 %09progres
@@ -681,10 +681,21 @@
 lete();%0A
+%09%7D, 2000);%0A
 %7D%0A

Set timeout in Replacer reformatter