9. An apparatus comprising: a network interface; a memory; one or more processors; and network application program logic, comprising one or more computer readable instructions configured, when executed, to cause the one or more processors to: receive, at a first origin, a request for a web page from a user agent, wherein the user agent is configured to implement a domain security model disallowing interaction between content from different origins across inline frames; access a data store of layout information to identify one or more module objects to add to a base document; and transmit, from the first origin, the base document to the user agent, wherein the base document comprises one or more module inline frame elements each configured to cause the user agent to load a module document from a second origin within an inline frame, wherein the module document comprises a messenger object and one or more of the identified module objects; wherein each messenger object is configured, within the context of the user agent, to create, within a corresponding module inline frame, a messenger inline frame element including a location attribute identifying the first origin; responsive to a message sent by the module object, add the message to the location attribute; and provide a new message detected in the location attribute of the messenger in line frame element to the module object; wherein the base document further comprises a module connector object configured, within the context of the user agent, to access location attributes of one or more messenger inline frame elements to check for new messages; and responsive to a new message, add the new message to one or more location attributes of corresponding messenger inline frame elements.
9. An apparatus comprising: a network interface; a memory; one or more processors; and network application program logic, comprising one or more computer readable instructions configured, when executed, to cause the one or more processors to: receive, at a first origin, a request for a web page from a user agent, wherein the user agent is configured to implement a domain security model disallowing interaction between content from different origins across inline frames; access a data store of layout information to identify one or more module objects to add to a base document; and transmit, from the first origin, the base document to the user agent, wherein the base document comprises one or more module inline frame elements each configured to cause the user agent to load a module document from a second origin within an inline frame, wherein the module document comprises a messenger object and one or more of the identified module objects; wherein each messenger object is configured, within the context of the user agent, to create, within a corresponding module inline frame, a messenger inline frame element including a location attribute identifying the first origin; responsive to a message sent by the module object, add the message to the location attribute; and provide a new message detected in the location attribute of the messenger in line frame element to the module object; wherein the base document further comprises a module connector object configured, within the context of the user agent, to access location attributes of one or more messenger inline frame elements to check for new messages; and responsive to a new message, add the new message to one or more location attributes of corresponding messenger inline frame elements. 11. The method of claim 9 wherein the messenger object is further configured to define a messaging application programming interface to the module object.