MAVLINK Message Question

I was running a simulation with a delay on the waypoints and noticed that the “MISSION_ITEM_REACHED” message is sent after the delay; that is when the drone starts moving to the next waypoint, atleast in the simulation. This presents a problem for me since I plan for the drone to run a program on a companion computer when it reaches the waypoint, meaning I need something to tell me when the waypoint has been reached at that exact time, not after the delay.

I think i could eliminate the delay and when i receive the message switch to “HOLD” mode and after it runs the program switch to Auto Mode, what do you guys think? I’d appreciate any comment/suggestion/feedback.