     public var revealDirection: BWSwipeCellRevealDirection = .Both
     
     // The current state of the cell (either normal or past a threshold)
-    private var _state: BWSwipeCellState = .Normal
-    public var state: BWSwipeCellState {
-        return _state
-    }
+    public private(set) var state: BWSwipeCellState = .Normal
     
     // The point at which pan elasticity starts, and `state` changes. Defaults to the height of the `UITableViewCell` (i.e. when it form a perfect square)
     public lazy var threshold: CGFloat = {

    // BWSwipeCell Delegate
    public weak var delegate: BWSwipeCellDelegate?
    
    private var _releaseCompletionBlock:((Bool) -> Void)?
    var releaseCompletionBlock:((Bool) -> Void)?  {
        if _releaseCompletionBlock == nil {
            _releaseCompletionBlock = {(finished: Bool) in
                self.delegate?.swipeCellDidCompleteRelease?(self)
                self.cleanUp()
            }
        }
        return _releaseCompletionBlock
    }
    
    // MARK: - Swipe Cell Functions
    

    }
    
    public func cleanUp() {
        self.state = .Normal
    }
    
    func handlePanGesture(panGestureRecognizer: UIPanGestureRecognizer) {
