1. A system, comprising: a framework for executing embeddable reusable software components, the framework using a framework state model and implementing one or more interfaces, the framework state model including multiple model states and multiple model state transitions, each model state transition being a state transition from a model state to a model state; and one or more embeddable reusable components, each of the components implementing a respective component state model that is a projection of the framework state model, each component further implementing one or more of the interfaces, each component implementing respective operations to perform state transitions supported by the component; the framework being operable to use the interfaces to cause components executing under control of the framework to perform component operations and to provide component state information to the framework, the interfaces defining methods usable to: determine a current state of a specified component, determine which state transitions are available state transitions for the current state for the specified component, the available state transitions being one or more of the allowable state transitions that are implemented by the selected component for the current state, and direct the specified component to perform a specified available state transition and thereby cause the specified component to perform one or more operations implemented by the specified component to achieve the specified available state transition.