Catch callback re-entry with checkf and TGuardValue
If a function calls out to a callback in the middle of an update, that callback can call the function again. Two lines, checkf and TGuardValue, turn that quiet bug into an immediate stop with a message that names the cause.