Test package.
some test modules, one test
Tests for desired transition behavior.
Add states() for tests.
test for happy path
Remove a basically useless class.
More valid documentation.
I think I like this better than .transitions; easier to detect errors, easier to provide in-IDE tooltips, etc
and this reads better
documentation for 'upon', less intercapping
better doc for input; not good, but better
the machine itself is private, outputs are private
Simpler implementation of input processing.
Even simpler implementation strategy.
a whole bunch of notes to self
it may surprise some of our viewers tonight to learn that mutable state is bad
Fix the test.  Fix the global mutable state by adding more global mutable state.  Hooray.
exceptions about input methods should look like they're about the input method
uh, that *should* have worked, right?
Preserve the method name of the input in information about its errors.