       if shouldInitiateAction() {
         animateToFinalPosition()
       } else {
+        actionDidCancel()
         animateToInitialPosition()
       }
     default: break

  public var isEnabled: Bool = true
  public var didStartDragging: () -> Void = { }
  public var actionDidFire: () -> Void = { }
  public var didEndDragging: () -> Void = { }
  public var didDrag: (_ touchPoint: CGPoint) -> Void = { _ in }
  public var setupSettings: (Settings) -> Void = { _ in }
  public var infoView: UIView? {
    willSet {

  
  private func modifyShapeLayerForTouch() {
    let path = pathBuilder.buildCurrentPath(inputData: pathInputData)
    let progress = gestureRecognizer.currentProgress(flexibility: settings.flexibility) / gestureRecognizer.totalProgressSize
    didDrag(progress)
    applyPath(path)
  }
  
