A state is the key structural element used to partition the script model. It represents a static point in the script's logic at which point a new event may be processed and possibly transition the script to a new state. As with all modeling components, states are shown graphically.
MiceOnABeam goes beyond basic LSL to allow states to contain other states! In this way, a state can serve as a high-level abstraction, with only the appropriate design details shown at every level of the model. Complex scripts can be nicely modularized in this way.