1. A method, comprising: executing, by a first computer system, a first collaboration framework and an instance of an application, wherein executing the instance of the application comprises displaying an instance of a graphical user interface of the application on the first computer system; the first collaboration framework intercepting, via an operating system event handling mechanism on the first computer system, a local user input event targeted to the instance of the application, wherein the instance of the application applies a modification to the instance of the graphical user interface in response to receiving the user input event; in response to said intercepting, the first collaboration framework sending a message including the user input event to one or more other collaboration frameworks each executing on a respective other computer system that is executing a respective other instance of the application, wherein said executing each respective other instance of the application comprises displaying a respective other instance of the graphical user interface of the application on the respective other computer system; in response to receiving the message, each of the one or more other collaboration frameworks delivering, via an operating system event handling mechanism on the respective other computer system, the user input event to the respective other instance of the application executing on the respective other computer system, displays a respective other user interface; wherein the operating system event handling mechanism delivers the user input event to the respective other application as if the user input event originated locally from the respective other user interface displayed by the respective other application; and in response to receiving the user input event, the respective other instance of the application applying the modification to the respective other instance of the graphical user interface of the application displayed by the respective other computer system.