             self.backgroundColor = normalBackgroundColor!
         }
     }
+    
     var highlightedBackgroundColor: UIColor? {
         didSet {
             self.setBackgroundImage(self.imageWithColor(self.highlightedBackgroundColor!), forState: UIControlState.Highlighted)

    
        return image
    }
}

    }
    
    /**
    Creates an image based on a color to be used for example as a background for certain state.
    
    - DISCUSSION: This class used to be implemented with three listeners on TouchUpInside, TouchUpOutside and TouchDown that would change the background color. The problem was that it wasn't fast enough (slight, but still noticeable delay). This implementation may not be "standard" but it sure solves the whole issue very well.
    
    :param: color Color to be used to fill the image with.
    :returns: UIImage with the same dimensions as this view filled with given color.
    */
    private func imageWithColor(color: UIColor) -> UIImage {
        let rect: CGRect = CGRectMake(0.0, 0.0, 1.0, 1.0)
        UIGraphicsBeginImageContext(rect.size)
        let context: CGContextRef = UIGraphicsGetCurrentContext()
