split TestExecutor to Factory class