Sounds like a game...
I would create a simple list with the "game tasks" and a script-engine (sounds worse than it is).
Every task is printed (like "Now go to xxx.yyy.zzz")
F.e.:
The list:
"go to", "xxx.yyy.zzz (=coordinate/location)", 20, check_coordinates
"turn north", 10, check_direction
The 20 or 10 is the time to wait for a check if the task is done, the "check_coordinates" or "check_direction" are subs with the functions called afte x secs.
In ONE timer you can check after x secs which sub has to be called.
In the sub you can set true/false if done.
If true then next_task
If false then repeat_task
In the "engine" you just handle the tasks and set it to finished, next, repeat.