A data processing system comprising: - a screen template for instantiation of a sequence (201a; 1204) of icons (1206, 1208,1210,...) and for instantiation of at least one screen for each of the icons, the screen template comprising navigation control buttons (201 b; 1212, 1214) for a user's navigation along the sequence of icons and access to the respective screens, - a library comprising graphical user interface components (1218, 1220), each graphical user interface component having an assigned data processing functionality, characterised by: - a user interface for instantiation of the screen template, wherein each instantiated screen template specifies a separate application program, - a database for storing first data specifying the instantiated sequence of icons and second data identifying graphical user interface components that have been selected by a user from the library for specifying each of the screens, - a program for providing the application programs on a user's request, the program being operable to receive a user's selection of one of the application programs and to perform the following steps in response to a user's selection of one of the screens of the application program: (i) reading the second data for the user selected screen from the database, (ii) loading the graphical user interface components identified in the second data for that screen into a main memory, (iii) generating the user selected screen by means of the loaded graphical user interface components, (iv) keeping the loaded graphical user interface components in the main memory until processing of the selected application program has been completed. - a screen template for instantiation of a sequence (201a; 1204) of icons (1206, 1208,1210,...) and for instantiation of at least one screen for each of the icons, the screen template comprising navigation control buttons (201 b; 1212, 1214) for a user's navigation along the sequence of icons and access to the respective screens, - a library comprising graphical user interface components (1218, 1220), each graphical user interface component having an assigned data processing functionality, - a user interface for instantiation of the screen template, wherein each instantiated screen template specifies a separate application program, - a database for storing first data specifying the instantiated sequence of icons and second data identifying graphical user interface components that have been selected by a user from the library for specifying each of the screens, - a program for providing the application programs on a user's request, the program being operable to receive a user's selection of one of the application programs and to perform the following steps in response to a user's selection of one of the screens of the application program: (i) reading the second data for the user selected screen from the database, (ii) loading the graphical user interface components identified in the second data for that screen into a main memory, (iii) generating the user selected screen by means of the loaded graphical user interface components, (iv) keeping the loaded graphical user interface components in the main memory until processing of the selected application program has been completed. (i) reading the second data for the user selected screen from the database, (ii) loading the graphical user interface components identified in the second data for that screen into a main memory, (iii) generating the user selected screen by means of the loaded graphical user interface components, (iv) keeping the loaded graphical user interface components in the main memory until processing of the selected application program has been completed.