Check for null match
Register contextual routers
Make unhandled route actually unhandled
Call onBeforeNavigation after matching
Pass state to onBeforeNavigation
Ignore download links
Start handling link clicks async