1. A method, in a configuration system, for efficiently configuring a product using dynamic components comprising: creating a product model for the product; creating component definitions for components within the product model, wherein at least one component definition includes both a static attribute and a dynamic attribute; specifying values for the static attributes within component definitions prior to configuring the product, wherein static attributes are shared across configuration sessions; and configuring the product, wherein configuring the product includes: specifying values for the dynamic attributes during configuration of the product, wherein values of dynamic attributes are not shared across configuration sessions; in response to a value of a dynamic attribute being specified, creating a partial instance of the component that includes the specified value of such dynamic attribute and no values for other attributes, and associating such partial instance with a state of configuration; and executing one or more constraints to determine if the product has a valid configuration, wherein, executing a constraint that involves a component with one or more dynamic attributes comprises using, for each dynamic attribute, the most recent partial instance of the component with a value for such dynamic attribute.