Proper workflow: States, Transitions, etc