The result of invoking the planner/reasoner is a dynamic plan, consisting of actions, events, and inferences. All of these nodes have status values, either not yet executed, in execution, or finished. In addition each action has a corresponding start time. Also included are protected facts, which are necessary for plan success. If such a fact is terminated by new information, then the planner must be re-invoked. The plan supplies the text generator with content information for query responses. More importantly, the plan interpreter uses the plan to perform actions in the world.