* More detailed states * Better transition checks * No more recursive calling of state machine functions