Should the trampoline function always update the obj.state variable, or should we also offer a minimalist FSM class for people who Want To Go Fast?
Perhaps even offer multiple trampoline functions:
- one that does nothing
- one that updates obj.state
- one that keeps a data frame of
(time, from, to, message) state transitions