Don't crash when a navigation item doesn't have children.
Changes to Subscribe to avoid race conditions.

Don't subscribe to the event in the base constructor, as the subclasses
constructor will not have run. Instead, base classes will have to
subscribe themselves when ready.
Eliminate hard-coded paths.