17. A speech processing method, comprising: receiving a natural language speech input representing structured commands and unstructured words; analyzing the natural language speech with at least one automated processor for contextual indicia to distinguish between the structured commands, instructing a device at take automated action, and the unstructured words intended as data and not instructing the device to take automated action defined by the unstructured words; determining whether a respective structured command is sufficiently complete to permit at least partial execution, or whether additional command input is required for sufficient completeness to permit at least partial execution; preserving a system state; soliciting further input to increase a completeness of the respective structured command, while causing a first change in the system state, and further determining whether a respective structured command is sufficiently complete to permit at least partial execution; at least partially executing the determined sufficiently complete commands with the at least one automated processor, while causing a second change in the system state; restoring the system state to the preserved system state to reverse the first change in the system state and permit the second change in the system state; and passing the natural language speech containing the unstructured words intended as data to a data sink.
19. The method according to claim 17 , further comprising maintaining a plurality of data structures representing at least a status of a plurality of grammars, wherein the data structures are dynamically updated based on the natural language speech input and a context determined by the at least one automated processor.