         }, completion: completion)
     }
     
-    fileprivate func performAction() {
+    fileprivate func performAction(completion: (() -> Void)? = nil) {
         if self.actionView.active {
             let horizontalTranslation = self.horizontalTranslationForActionBehavior()
             

    
    @objc fileprivate func handlePan() {
        if let cell = self.cell {
            switch self.state {
            case .began:
                self.sortActions()

                if let didTrigger = self.actionView.action?.didTrigger, let tableView = self.tableView, let indexPath = self.indexPath {
                    didTrigger(tableView, indexPath)
                }

                completion?()
            })
        } else {
            self.isSwipeActive = false
            
            self.translateCellHorizontally(0.0, animationDuration: self.animationTime, completion: { (finished) -> Void in
                self.actionView.removeFromSuperview()
                completion?()
            })
        }
    }
