A communications apparatus comprising: a processing resource arranged to support, when in use, a user interface for controlling one or more functions of a main application, and at least one external application relative to the main application and a graphical user interface (272, 278); a data store (214, 280) comprising a plurality of user interface templates, each user interface template comprising a predetermined expression of a number of user interface elements; and a user interface host entity (272, 278) arranged to access, when in use, a user interface template from the data store selectable in response to a received message from one or more external applications, said user interface being arranged to translate the user interface template selected from the predetermined expression of the number of user interface elements into a user interface instantiation (342, 344), a communications interface capable of supporting communication with said one or more external applications relative to the main application via a communications network (200, 128, 122), said processing resource providing remote access to the external application by means of the user interface via the communications network, and characterised in that the user interface host entity (272, 278) is arranged, when in use, to: receive a message from an external application with a selection of the user interface template, or send a message to an external application identifying a selected user interface template; receive at least one message from the external application with configuration data specifying information to be rendered for displaying for at least one user interface element of the selected user interface template; generate event data in response to a user interaction with the at least one user interface element of the selected user interface template; and send the generated event data to the external application for interpretation thereby. a processing resource arranged to support, when in use, a user interface for controlling one or more functions of a main application, and at least one external application relative to the main application and a graphical user interface (272, 278); a data store (214, 280) comprising a plurality of user interface templates, each user interface template comprising a predetermined expression of a number of user interface elements; and a user interface host entity (272, 278) arranged to access, when in use, a user interface template from the data store selectable in response to a received message from one or more external applications, said user interface being arranged to translate the user interface template selected from the predetermined expression of the number of user interface elements into a user interface instantiation (342, 344), a communications interface capable of supporting communication with said one or more external applications relative to the main application via a communications network (200, 128, 122), said processing resource providing remote access to the external application by means of the user interface via the communications network, and characterised in that the user interface host entity (272, 278) is arranged, when in use, to: receive a message from an external application with a selection of the user interface template, or send a message to an external application identifying a selected user interface template; receive at least one message from the external application with configuration data specifying information to be rendered for displaying for at least one user interface element of the selected user interface template; generate event data in response to a user interaction with the at least one user interface element of the selected user interface template; and send the generated event data to the external application for interpretation thereby. receive a message from an external application with a selection of the user interface template, or send a message to an external application identifying a selected user interface template; receive at least one message from the external application with configuration data specifying information to be rendered for displaying for at least one user interface element of the selected user interface template; generate event data in response to a user interaction with the at least one user interface element of the selected user interface template; and send the generated event data to the external application for interpretation thereby.