added primative router that emits events on route changes, more to come