I prefer using mostly triggered events and Timer behavior (instead of Wait). Triggered events usually start with "On..." and they have a little green arrow icon on the event list.
There is nothing wrong with using state variables, or a combination of both, but you need to be careful with when and how you change states. For example, on your screenshot in event 4 the Pawn after arriving will still have todo="getbox" for a full second. During this second it will probably try to find the path to the same box several times. Which may trigger the "On pathfinding arrived" event several times and mess the things up.