1. A method of defining colors for a graphical user interface on a mobile electronic device, the graphical user interface controlling the operation of the mobile electronic device, the graphical user interface having a plurality of interface elements each having visual attributes, the method comprising: providing on the mobile electronic device a first theme file comprising a first color palette list and a first style sheet, the first color palette list including a plurality of variable strings each of which has an assigned color value, the first style sheet specifying color attributes of at least some of the interface elements, at least one of the color attributes of at least one of the interface elements being specified by reference to one of the variable strings; providing on the mobile electronic device a second theme file comprising a second color palette list, the second color palette list including a plurality of variable strings each having an assigned color value, wherein the variable strings of the second color palette list are the same as the variable strings of the first color palette list, wherein at least one of the variable strings of the second color palette list have different color values than the corresponding variable strings in the first color palette list, wherein the second theme file references the first theme file so as to inherit at least some of the visual attributes of the first theme file; generating the graphical user interface on a display of the mobile electronic device in accordance with the first theme file, wherein the at least one of the color attributes of the interface elements is specified by reference to one of the variable strings of the first color palette list; receiving a selection of the second theme file; and re-generating the graphical user interface on the display of the mobile electronic device in accordance with the second theme file in response to the selection, wherein the at least one of the color attributes of the interface elements is specified by reference to one of the variable strings of the second palette list.