String parsing is back, and this time it's in POG form!

New FactoryStateMachine, which can provide a consistent mapping
from name to state, primarily to facilitate parsing enum names.
docs
cleanup
cleanup
makes the type bounds on the factory less restrictive