Better be lib-agnostic. The important point is that we rely on events thrown by the state machine, be it finite or sm.