reimplement StateMachineConfiguration to simplify configuration/logging usage
update doc