An application gateway enables controlled communication between application components within a browser based environment while maintaining a level of isolation of the individual application components. A dispatching API wrapper and a listening API wrapper are registered for each of a plurality of application components. The registered API wrappers are used to send and receive communications from the associated application components. For example, a first application component can dispatch an action to a second application component via the first application component's dispatching API wrapper. The second application component can receive the action via the second application component's listening API wrapper. As another example, a first application component can dispatch an event that broadcasts a state to other application components via the first application component's dispatching API wrapper. A listening API wrapper of at least one other application component receives the state and may perform other functions dependent on the state.