x-yuri, не вижу смысла городить такой костыль. Человек, если ему захочется передавать через всю цепочку состояния переменных, может просто-напросто передавать объект.
wait(function(next){
var states = {a: 1, b: 2}
next(states);
}).wait(function(next, states){
states.c = 3;
next(states);
}).wait(function(next, states){
states.d = 4;
states.e = 5;
});