         self.layer.addAnimation(rotateAnimation, forKey: "rotation.x")
     }
     
-    override func animationDidStart(anim: CAAnimation) {
+    override public func animationDidStart(anim: CAAnimation) {
         self.layer.shouldRasterize = true
         self.alpha = 1
     }
     
-    override func animationDidStop(anim: CAAnimation, finished flag: Bool) {
+    override public func animationDidStop(anim: CAAnimation, finished flag: Bool) {
         if hiddenAfterAnimation {
             self.alpha = 0
         }

    
    // MARK: public
    
    func selectedAnimation(isSelected: Bool, animated: Bool, completion: CompletionHandler?) {
        if isSelected {
            containerView.alpha = 1;
            for subview in containerView.subviews {


import UIKit

public class FoldingCell: UITableViewCell {
    
    public typealias CompletionHandler = () -> Void

    @IBOutlet weak var containerView: UIView!
    @IBOutlet weak var foregroundView: RotatedView!
