Make navigation and views more easily extendible by using events and exposing constructors.