declarative * bubbling and component namespacing