 fileprivate typealias EventID = String
 
 class EventNotificationsManager {
-    // caches events by their start time by place
-    fileprivate lazy var sentNotifications: Set<EventID> = {
-        var cache = Set<EventID>()
-        guard let savedNotifications = UserDefaults.standard.dictionary(forKey: sentNotificationDictKey) as? [String: [EventID]] else {
-            return cache
-        }
-        for (dateString, eventIDs) in savedNotifications {
-            if let timestamp = TimeInterval(dateString) {
-                let date = Date(timeIntervalSinceReferenceDate: timestamp)
-                if Calendar.current.isDateInToday(date) {
-                    let newIdsSet = Set<EventID>(eventIDs)
-                    cache.formUnion(newIdsSet)
-                }
-            }
-        }
-        return cache
-    }()
+
+    fileprivate var sentNotifications: Set<String> {
+        get {
+            return Set<String>(UserDefaults.standard.array(forKey: sentNotificationDictKey) as? [String] ?? [])
+        }
+
+        set {
+            UserDefaults.standard.set(Array(newValue), forKey: sentNotificationDictKey)
+        }
+    }
 
     fileprivate var shouldFetchEvents: Bool {
         guard let eventFetchStartTime = eventFetchStartTime else {

    }

    fileprivate func markAsSent(event: Event) {
        sentNotifications.insert(event.id)
    }
}

    }

    func persistNotificationCache() {
        UserDefaults.standard.synchronize()
    }

