not diving deeper, but I would prefer a single callback. Just move the phase (Start, End) into the callback parameter? Or does that complicate things for you?