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?