refactoring workflow again, trying to create a reusable class
broken
States definition moved to own module, WorkflowManager simplified
refactored button state management out of the states definition and into WorkflowManager
waiting until after wrapper render to kickstart the workflow