A minimalistic FSM library