1. An apparatus comprising: an input/output controller comprising at least one input means configured to receive instructions from a user, and at least one output means configured to convey information to a user, responsive to messages encoded using a predetermined markup language comprising tags; and a processor configured for providing a routing function and hosting a plurality of applications, the applications being configured to communicate with one another, via the processor, using messages having the structure of the predetermined markup language and each message including a tag which provides an indication of the destination of the message, and wherein the routing function being configured to use the destination tag to route each message to its destination, wherein the processor is configured so that messages transmitted between applications, via the processor, are transmitted within the apparatus.