tower: guarantee callbacks are run in the order they are specified

only the ast tracks the order, which is then used to generate the call code.
tower-statemachine: small changes to example