Shuffling stuff around a bit.

[fsm] now receives anything, and relays it directly to the current state object.