refactor node to state because we're representing FSM (finite state machine -- i.e. state + transition) instead of graph -- fendy + dangerjoe