A method for associating a command surface with active components, comprising: associating a command surface on a web page with a first component associated with a first application and associating the command surface on the web page with a second component associated with a second, different application; wherein the command surface includes commands for performing actions; identifying a first command list for the first component that identifies the commands included on the command surface that the first component is registering to receive notifications from, and identifying a second command list for the second component that identifies the commands included on the command surface that the second command list is registering to receive notifications from; wherein the first component and the second component are both registering to receive notifications from at least one command on the command surface; associating each of the commands in the first command list with the first component and associating each of the commands in the second command list with the second component; determining when one of the commands included on the command surface is activated; determining when the first component should receive the command based on the command being associated with the first component and determining when the second component should receive the command based on the command being associated with the second component; and dispatching the command to the first component for processing when it is determined that the first component should receive the command and dispatching the command to the second component for processing when it is determined that the second component should receive the command; wherein identifying the first command list and the second command list comprises polling the first component to acquire the first command list and polling the second component to determine the second command list; wherein the first and second components are able to modify their command registration. associating a command surface on a web page with a first component associated with a first application and associating the command surface on the web page with a second component associated with a second, different application; wherein the command surface includes commands for performing actions; identifying a first command list for the first component that identifies the commands included on the command surface that the first component is registering to receive notifications from, and identifying a second command list for the second component that identifies the commands included on the command surface that the second command list is registering to receive notifications from; wherein the first component and the second component are both registering to receive notifications from at least one command on the command surface; associating each of the commands in the first command list with the first component and associating each of the commands in the second command list with the second component; determining when one of the commands included on the command surface is activated; determining when the first component should receive the command based on the command being associated with the first component and determining when the second component should receive the command based on the command being associated with the second component; and dispatching the command to the first component for processing when it is determined that the first component should receive the command and dispatching the command to the second component for processing when it is determined that the second component should receive the command; wherein identifying the first command list and the second command list comprises polling the first component to acquire the first command list and polling the second component to determine the second command list; wherein the first and second components are able to modify their command registration.