         }
     }
     
-    private func reconfigureCards() {
+    public func reconfigureCards() {
         if dataSource != nil {
             for (index, card) in visibleCards.enumerated() {
                 var actualIndex = currentCardIndex + index

            visibleCards.insert(firstCardView, at: 0)
            
            animationSemaphore.increment()
            animator.applyReverseAnimation(firstCardView, direction: direction, duration: defaultReverseAnimationDuration, completion: { [weak self] _ in
                guard let _self = self else {
                    return
                }

        get {
            return self._animator
        }
    }
    
    public var isAnimating: Bool {
        return animationSemaphore.isAnimating
    }
    
    private lazy var _animator: KolodaViewAnimator = {
