

Structuring Programs Using Stages
Reasons for using stages:
- control access to program state
- group logically related operations
- encapsulate logic in the form of a finite-state automata. An
event-driven state machine.
Control analog of object-oriented design.