1. A computer-implemented method comprising: transmitting instructions to a computing device to display a user interface of a web-based widget composition platform; receiving first user input comprising a selection of at least a first service and a second service, the first user input being received through the user interface; receiving second user input comprising i) a first connection of a first output of the first service with an input of the second service and ii) a second connection of a second output of the first service with the input of the second service, the second user input being received through the user interface; receiving third user input comprising a selection of a widget engine, the third user input being received through the user interface; automatically generating code based on the first service, the second service and the widget engine, wherein the code, when invoked by the widget engine, provides a widget that includes a first service window associated with the first service and a second service window associated with the second service, and that is operable to communicate with the first service and the second service to i) connect the first output of the first service to the input of the second service based on an occurrence of a first event and ii) connect the second output of the first service to the input of the second service based on an occurrence of a second event, wherein data presented in the second service window is contextualized based upon a user-selection of one of a plurality of data items displayed in the first service window; and transmitting the code for invocation in a browser environment using a compatibility layer that emulates the widget engine to simulate the widget in the widget composition platform.