Memory efficient state machine in C++ from this tutorial Usage: mkdir build && cd build cmake .. make ./fsm_example