make done callback function (instead of function-expression): dont create it new on each iteration