1. A method of restructuring a user interface component of a computer application, the method comprising: dynamically injecting a functionality into a first layer in the user interface component of the computer application; communicating an event to a controlling process used in at least the first layer; and performing an action in the first layer based on the communicated event.