       try! context.save()
     }
     
+    /**
+     Helper method to retrieve CloudKit saved custom zone name used by the store.
+     
+     - throws: CoreData fetch request error.
+     
+     - returns: An optional that might or might not contain saved custom zone name.
+     */
     func zoneName() throws -> String? {
       let fetchRequest = NSFetchRequest(entityName: Entity.name)
       fetchRequest.predicate = NSPredicate.preferenceZoneNamePredicate
       return (try context.executeFetchRequest(fetchRequest).first as? Preference)?.value
     }
     
+    /**
+     Helper method to retrieve CloudKit saved custom zone subscription name used by the store.
+     
+     - throws: CoreData fetch request error.
+     
+     - returns: An optional that might or might not contain saved custom zone subscription name.
+     */
     func zoneSubscriptionName() throws -> String? {
       let fetchRequest = NSFetchRequest(entityName: Entity.name)
       fetchRequest.predicate = NSPredicate.preferenceZoneSubscriptionNamePredicate

  
  // MARK: Properties
  
  struct Properties {
    struct Key {
      static let name = "key"

import Foundation
import CoreData

/// Preference is a subclass of NSManagedObject.. This class is added to the backing store model automatically and used by backing store to save some information about the store.
class Preference: NSManagedObject {
  
  @NSManaged var key: String?
