nit: as this class is abstract, you con't need to provide a method body:

    NavigationLocation get navigationLocation;