View provides a way for hooks to set their own element.
Allow components to mixin their own events. Expose publish.

TODO: Redetermine if exposing publish is a good idea.