Ruby Library for statemachines