1. A method implemented on a computer, comprising: creating a customizable user interface (UI), using a processor of the computer, wherein the creating comprises selecting a UI theme from a plurality of theme templates, using the processor, wherein the UI theme defines an appearance of a customizable product class, the customizable product class comprises one or more customizable products, and the one or more customizable products are available to be purchased, adding one or more UI groups to the UI theme, using the processor, wherein each UI group of the one or more UI groups defines a subclass of the customizable product class, the subclass defines a component product of one or more component products, the component product is related to a customizable product of the one or more customizable products, and the component product is configured to be used in customizing the customizable product, assigning one or more UI controls to the subclass, using the processor, and providing a subclass-specific user interface, using the processor, wherein the subclass-specific user interface is configured to allow customization of the customizable product in a user-specified manner prior to purchase of the customizable product by virtue of being configured to allow selection of the component product using a corresponding UI control of the UI controls, and the corresponding UI control corresponds to the component product.
10. The method of claim 1 wherein each of the one or more UI controls is associated with at least one property.