         setNeedsDisplay()
     }
     
-    override func display() {
+    override public func display() {
         self.contents = contentImage()
     }
     


// MARK: Ring Progress Layer

class MKRingProgressLayer: CALayer {
    
    var startColor = UIColor.redColor().CGColor {
        didSet {
            setNeedsRedrawContents()
        }
    }
    
    var endColor = UIColor.blueColor().CGColor {
        didSet {
            setNeedsRedrawContents()
        }
    }
    
    var backgroundRingColor: CGColorRef? = nil {
        didSet {
            setNeedsDisplay()
        }
    }
    
    var ringWidth: CGFloat = 20 {
        didSet {
            setNeedsRedrawContents()
        }
    }
    
    var endShadowOpacity: CGFloat = 1.0 {
        didSet {
            endShadowOpacity = min(max(endShadowOpacity, 0), 1)
            setNeedsDisplay()

    * one full revolution, i.e. 1.0 -> 360°, 2.0 -> 720°, etc. Defaults to 0.
    * Progress animation duration can be adjusted using `CATransaction.setAnimationDuration()` */
    
    public var progress: Double {
        get {
            return Double((layer as! MKRingProgressLayer).progress)
        }
