Pass a P2P3 pointer to phase2_done() and phase3_done(), so they can clean up.