         case .ended:
             let velocity = pan.velocity(in: pan.view).y
             let targetOffset = currentOffset - diff + 0.2 * velocity
-            update(animated: true, to: targetOffset, velocity: velocity, keepCurrentState: false)
+            update(animated: true, to: targetOffset, velocity: velocity, keepLastState: false)
         default: break
         }
         

            return .dragging(offset: currentOffset)
        }
    }
    
    func offset(forState state: State.Settle) -> CGFloat? {
        switch state {

        }
        set {
            guard newValue != currentOffset else { return }
            
            // Save last state
            lastState = state
            
            // Change state
            header?.frame.origin.y = newValue
            scroll.frame.origin.y = header?.frame.maxY ?? newValue
            
