phase: use a extensible work-list for `run_phases`