         guard hasAppeared == true else { return }
         
         spreadEventHandler?.didDisappear()
-        
-        Event.publicationDisappeared(publicationId:publicationId, ownedById: ownerId).track()
         
         hasAppeared = false
     }

                                 ownedById: ownedById)
    }
    
    static func publicationAppeared(publicationId:IdField, ownedById:IdField) -> Event {
        return _publicationEvent(type: "paged-publication-appeared",
                                 publicationId: publicationId,
                                 ownedById: ownedById)
    }
    
    static func publicationDisappeared(publicationId:IdField, ownedById:IdField) -> Event {
        return _publicationEvent(type: "paged-publication-disappeared",
                                 publicationId: publicationId,
                                 ownedById: ownedById)
    }
    
    
    
    // MARK: Page Events

        
        // then pages appear (and load if already loaded)
        for pageIndex in pageIndexes {
            if loadedPageIndexes.contains(pageIndex) {
                Event.publicationPageLoaded(pageIndex: pageIndex, publicationId: publicationId, ownedById: ownerId).track()
            }
