Changed deterministic FSMs to use a sequence of transition objects rather than an opaque transition function. This will allow me to dynamically construct deterministic FSMs later.