         }
         
         state = .reset
+        
+        if current.isScheduled { start() }
     }
     
     func tick() {

        didSet {
            reset()
            currentSubscription = current.didChangePublisher.sink { value in
                if self.state != .active { self.reset() }
            }
            if current.isScheduled { start() }
        }
    }
    

    
    private init() {
        currentSubscription = current.didChangePublisher.sink { value in
            if self.state != .active || self.current.isScheduled { self.reset() }
        }
    }
    
