                 switch $0.result {
                 case .success(let html):
                     guard let thumbnailUrl = me.extractLiveThumbnailUrl(from: html) else {
-                        log.error("Live thumbnail exstraction failed.")
+                        log.error("Live thumbnail extraction failed.")
                         return
                     }
                     me.delegate?.liveThumbnailFetcher(

    func start(for liveProgramId: String, delegate: LiveThumbnailFetcherDelegate) {
        self.liveProgramId = liveProgramId
        self.delegate = delegate
        scheduleTimer()
    }

    func stop() {

}

private extension LiveThumbnailFetcher {
    func scheduleQueryTimer() {
        queryTimer = Timer.scheduledTimer(
            timeInterval: queryInterval,
            target: self,
