Navigator rewrite

Replacement PR for #1046, now against master instead of mtecs.