IFlow is the basic building block of SpeakRight. A flow object generates VoiceXML pages, and also manages control flow in the application. In MVC terms, a flow object is both a view and a controller. Flow objects are similar to controls in a GUI application; they encapsulate some user interface behaviour.
IFlow objects can contain child IFlow objects (called sub-flows). Everything from the lowest-level prompt-block to a complete SpeakRight application is an IFlow. IFlow classes are Serializable so that SpeakRight can save & restore state between HTTP requests. Mark any fields transient that you don't want to be persisted.