         if !has(x) {
             return
         }
-        if isResting(now) {
+        if now - lastActed > activationDelay {
             let totalCost = activationCost + x
             if totalCost <= activationLimit {
                 activationCost = totalCost

    // Potential Config
    var fadeTime : Float = 3.0
    var fadeValue : CGDisplayBlendFraction = 0.8
    let restDelay = 5.0
    let activationLimit = 10.0
    
    // Volatile State
    let clock: (() -> Double)

        if now < fadeUntil {
            return
        }
        let f = go ? goFade : stopFade
        let success = CGError(kCGErrorSuccess.value)
        var token = CGDisplayFadeReservationToken(kCGDisplayFadeReservationInvalidToken)
        var e = CGAcquireDisplayFadeReservation(f.t, &token)
        if e != success {
            return
        }
        e = CGDisplayFade(token, 0, 0, f.a, f.r, f.g, f.b, 0)
        if e != success {
            errorLog.warn("CGError returned \(e.value)")
        }
        fadeUntil = now + Double(f.t)
    }
    
    func tick() -> (ticking: Bool, statusString: NSAttributedString) {
        let now = clock()
        let resting = now - lastActed > restDelay
        let assumedLastActed = resting ? lastActed : now
        let errorStatusStringGroup = errorLog.count > 0 ? [red("\(errorLog.count)")] : []
        
