refactored the singleton StartPhaseExecutor