         var EndDateTimeUtc: Date
         var Title: String
 
-        func asModel() -> APIEvent {
+        var modelValue: APIEvent {
             return APIEvent(roomIdentifier: ConferenceRoomId,
                             startDateTime: StartDateTimeUtc,
                             endDateTime: EndDateTimeUtc,

private struct JSONSyncResponse: Decodable {

    func asAPIResponse() -> APISyncResponse {
        return APISyncResponse(knowledgeGroups: KnowledgeGroups.asDelta(),
                               knowledgeEntries: KnowledgeEntries.asDelta(),
                               announcements: Announcements.asDelta(),
                               events: Events.asDelta(),
                               rooms: EventConferenceRooms.asDelta())
    }

    struct Leaf<T>: Decodable where T: Decodable & ModelRepresenting {
        var ChangedEntities: [T]
        var DeletedEntities: [T]

        func asDelta() -> APISyncDelta<T.ModelType> {
            return APISyncDelta(changed: ChangedEntities.map({ $0.asModel() }),
                                deleted: DeletedEntities.map({ $0.asModel() }))
        }
    }


        var Content: String
        var LastChangeDateTimeUtc: Date

        var modelValue: APIAnnouncement {
            return APIAnnouncement(title: Title,
                                   content: Content,
                                   lastChangedDateTime: LastChangeDateTimeUtc)
