1. A method of dynamically transforming graphical user interface widgets to allow migration between heterogeneous device platforms, the method comprising: a) identifying a platform independent graphical user interface widget to be transformed within a platform independent presentation model; b) prioritizing a plurality of transformation rules applicable to the identified platform independent graphical user interface widget; and c) transforming the identified platform independent graphical user interface widget with a highest priority transformation rule.