C++ State machine library for arduino