1. A method of creating a composite application comprising: implementing widgets associated with one or more products available in a mashup container based on a selection by a user of the widgets from a widget catalog; defining a behavior of, and an interaction between, the widgets using metadata data associated with the widgets without requiring software development effort from the user; and applying a skin to the composite application, the skin controlling a visual presentation of the application on a display.