This document presents a dynamically defined state model called CxStates that is not based on the state pattern. CxStates allows for a user-configurable state model that allows easy communication with external systems. It includes basic classes like CxBaseState that defines a state, CxTransitionEntry that defines transitions between states, and CxActionSequence to execute methods in external systems during transitions. Transitions are executed by executing pre-transition and post-transition actions. The document demonstrates CxStates with an example of modeling the states of an automatic coffee machine.