Fix after refactoring: TestExecutor must keep correct callback order