 class BHBackgroundView: UIView {
     
     var style: BHProgressHUDBackgroundStyle? {
-        set {
+        willSet {
             var newStyle: BHProgressHUDBackgroundStyle?
             if newValue == .Blur && kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0 {
                 newStyle = .SolidColor
             }
-            if self.style != newStyle {
+            
+            if style != newStyle {
                 self.style = newStyle
                 updateForBackgroundStyle()
             }
         }
-        get {
-            return self.style
-        }
     }
     
     var color: UIColor? {
-        set {
+        willSet {
             assert(color != nil, "The color should not be nil.")
-            if color != newValue && !(color?.isEqual(newValue))! {
+            if color != newValue && color!.isEqual(newValue) {
                 self.color = newValue
                 updateViewForColor()
             }
-        }
-        get {
-            return self.color
         }
     }
     

    override private func setTitleColor(color: UIColor?, forState state: UIControlState) {
        super.setTitleColor(color, forState: state)
        // Update related colors
//        highlighted = self.highlighted
        self.layer.borderColor = color?.CGColor
    }
}

private class BHProgressHUDRoundedButton: UIButton {
    
    override var highlighted: Bool {
        willSet {
            let baseColor = self.titleColorForState(.Selected)
            backgroundColor = newValue == true ? baseColor?.colorWithAlphaComponent(0.1) : UIColor.clearColor()
        }
    }
    
    override init(frame: CGRect) {
