adding the ability to modify navigation

This will allow engines and other initialization code
to modify the navigation.