         for (index, place) in displayedPlaces.enumerated() {
             placesMap[place.id] = index
         }
-        self.placeKeyMap = placesMap
+        self.placeKeyToDisplayedPlacesIndexMap = placesMap
     }
 
     func place(forKey key: String, callback: @escaping (Place?) -> ()) {


    func index(forPlace place: Place) -> Int? {
        return self.placesLock.withReadLock {
            return placeKeyMap[place.id]
        }
    }


    func nextPlace(forPlace place: Place) -> Place? {
        return self.placesLock.withReadLock {
            // if the place isn't in the list, make the first item in the list the next item
            guard let currentPlaceIndex = self.placeKeyToDisplayedPlacesIndexMap[place.id] else {
                return displayedPlaces.count > 0 ? displayedPlaces[displayedPlaces.startIndex] : nil
            }

