 			if let record = record {
 				
 				switch operation {
-				case .title, .startTime, .endTime, .date:
+				case .title, .startTime, .endTime, .date, .expectedDuration, .currentTopic:
 					self.assign(attribute: attribute, value: value, record: record)
-				case .newParticipant:
-					self.assign(newParticipant: value, record: record)
+				case .addParticipant:
+					self.assign(addParticipant: value, record: record)
+				case .addTopic:
+					self.assign(addTopic: value, record: record)
 				default:
 					print("Update operation not found.") // TODO: define error
 				}

		}
		
		self.saveRecord(record: record)

	}
	
	/**

	}
	
	
	// TODO: abstract addTopic and addParticipant to an add method
	
	
	
	// Append a new participant to the meeting.
	func assign(addParticipant: CKRecordValue, record: CKRecord) {
		let userReference = addParticipant as! CKReference // Force downcasting because I guarantee it will be a CKReference.
		
		if var participants = (record["participants"] as? [CKReference]) {
			participants.append(userReference)
