Major rewrite to support anonymous transitions (no trigger)