1. A method of communicating events, comprising: detecting an event at a first application written in a first programming language, the first application being embedded in a host application written in a second programming language and running on a computing device; initiating a broadcast of the detected event on an event aggregator in the host application; determining, by the host application, whether a second application is embedded in the host application; and if the second application is determined to be embedded in the host application, transmitting the detected event from the host application to the second embedded application; wherein transmitting the detected event comprises sending data associated with the detected event from the second embedded application to the host application, wherein the data associated with the detected event includes an identifier of the detected event; determining by an event aggregator the first embedded application whether at least one operation is to be executed by the first embedded application in response to the received event; and upon a positive determination by the event aggregator in the first embedded application that the at least one operation is to be executed, executing on the first embedded application the at least one operation in response to the detected event.