pub fn execute_plan(
plan: &ExecutionPlan,
options: SupervisionOptions,
writer: &mut dyn Write,
before_phase: impl FnMut(&ExecutionPhase, &mut dyn Write) -> Result<(), OrchestrationError>,
) -> Result<ExecutionResult, OrchestrationError>