Setup initialisation of waypoint info and now provide onMaxAttempts function for writing messages with timeout
Added tests to prove that timeout failure recovers correctly