stage run now can accept function with 2 parameters (ctx, done) + refactoring