1. A method for controlling remotely at least one controlled computer via a controlling computer, comprising: obtaining, by the at least one controlled computer, a set of observations of a set of actions performed by a user on a Graphical User Interface (GUI) of the controlling computer; automatically replicating on a GUI of the at least one controlled computer the set of actions performed by a user on a GUI of the controlling computer, wherein the controlled computer interacts directly with the GUI of the at least one controlled computer based on the set of observations, the GUI of the controlling computer being a GUI that is native to a platform of the controlling computer and the GUI of the at least one controlled computer being a GUI that is native to a platform of the at least one controlled computer, wherein the GUI of the controlling computer is different from the GUI of the at least one controlled computer and wherein the set of actions are represented differently on the GUI of the controlling computer than on the GUI of the at least one controlled computer.