       try context.saveIfHasChanges()
     }
     
+    /**
+     Helper method to delete metadata for the unique IDs provided in the list.
+     
+     - parameter ids: An array containing unique IDs.
+     
+     - throws: CoreData fetch request error.
+     */
     func deleteMetadataForUniqueIDs(ids: [String]) throws {
       let fetchRequest = NSFetchRequest(entityName: Entity.name)
       fetchRequest.predicate = NSPredicate(inUniqueIDs: ids)

    }
  }
  
  class Manager {
    var context: NSManagedObjectContext!
    
    init(context: NSManagedObjectContext) {
      self.context = context
    }
    
    func metadataWithUniqueID(id: String) throws -> Metadata? {
      let fetchRequest = NSFetchRequest(entityName: Entity.name)
      fetchRequest.predicate = NSPredicate(equalsToUniqueID: id)
      return try context.executeFetchRequest(fetchRequest).first as? Metadata
    }
    
    func setMetadata(forRecord record: CKRecord) throws {
      let uniqueID = record.recordID.recordName
      let encodedData = record.encodedSystemFields

      return entityDescription
    }
  }

  // MARK: Properties 
  
  /**
  *  Properties information belonging to Metadata entity.
  */
  struct Properties {
    struct Data {
      static let name = "data"
