First stab at a Navigator abstraction.