new(canEnter:() ‑> Bool, fromState:State<T>, toState:State<T>)
finalfromState:State<T>
finaltoState:State<T>
finalcanEnter:() ‑> Bool