1. A system for providing a user interface comprising: a gadget definition, wherein the gadget definition comprises one or more XML-based gadget definition tags defining a gadget element; a style definition, wherein the style definition comprises one or more XML-based style definition tags defining one or more style attributes to be applied to the gadget element; a scene file, wherein the scene file is an XML-based document specifying one or more elements of the user interface, the scene file including a gadget element tag that specifies the gadget element; a parser to parse the scene file, the style definition, and the gadget definition, and to generate an object model based on the parsed scene file, the parsed style definition, and the parsed gadget definition, the object model including a gadget object corresponding to the gadget element; a layout engine to determine, based on the object model, a layout of the user interface; and a rendering engine to render, based on the determined layout, the user interface, the user interface including the gadget element.