Finite State Machine design pattern for simplified workflows in enterprise applications.