So we have two types of scopes we need to deal with: Global and local.
This line can be easily prettified but I want to figure out how the api should like for all our future needs.

area.on, off --> Will be scoped to that specific component.
For example area.on('update', callback) should be specific to that component. And update for graph shouldn't trigger the area update or vice versa (since everything flows through the pubsub.)

Local scope means the cid gets prefixed into the scope. Global scope means its global and available to all components, dataCollections, graph container..