16. A computer system comprising: a processor; a non-transitory computer-readable storage medium coupled to the processor; and a plurality of instructions, encoded in the non-transitory computer-readable storage medium and configured to cause the processor to generate a first configurator for a customizable product, wherein the instructions configured to cause the processor to generate the first configurator comprise a first set of instructions configured to cause the processor to create a customizable product, wherein the customizable product comprises a set of one or more attributes, and the set of one or more attributes is configured to define, at least in part, the customizable product, assign the customizable product to a customizable product class, wherein the customizable product class is a parent class of a hierarchy defining the first configurator, add a component product class to the customizable product class, wherein the component product class is a subclass of the customizable product, add a customizable class rule to the customizable product class, wherein the customizable class rule comprises one or more expressions, and the one or more expressions are configured to define one or more constraints on one or more component products added to the customizable product, and map a customizable user interface (UI) to the customizable product class, wherein the customizable UI is configured to provide access structure to the first configurator, and generate a second configurator for another customizable product, wherein the instructions configured to cause the processor to generate the second configurator comprise at least one of the instructions performed in generating the first configurator, and the at least one of the instructions is performed on the another customizable product.
20. The computer system of claim 16 , wherein the class rule comprises a natural language template, and the natural language template uses a natural language syntax.