      - parameter name: Name of the CloudKit custom zone.
      */
     func saveZoneName(name: String) {
-      let preference = NSEntityDescription.insertNewObjectForEntityForName(Entity.name, inManagedObjectContext: context) as! Preference
+      let preference = NSEntityDescription.insertNewObject(forEntityName: Entity.name, into: context) as! Preference
       preference.key = Default.zoneName
       preference.value = name
       try! context.save()

      static var attributeDescription: NSAttributeDescription {
        let attributeDescription = NSAttributeDescription()
        attributeDescription.name = name
        attributeDescription.attributeType = .StringAttributeType
        attributeDescription.optional = false
        return attributeDescription
      }
    }

     - returns: An optional that might or might not contain saved custom zone name.
     */
    func zoneName() throws -> String? {
      let fetchRequest = Preference.fetchRequest()
      fetchRequest.predicate = NSPredicate.preferenceZoneNamePredicate
      
      return (try context.fetch(fetchRequest).first as? Preference)?.value
    }
    
    /**
