     private var attributedTitles: [UIControlState: [PermissionStatus: NSAttributedString]] = [:]
     private var titleColors: [UIControlState: [PermissionStatus: UIColor]] = [:]
     private var titleShadowColors: [UIControlState: [PermissionStatus: UIColor]] = [:]
+    private var images: [UIControlState: [PermissionStatus: UIImage]] = [:]
+    private var backgroundImages: [UIControlState: [PermissionStatus: UIImage]] = [:]
     
     // MARK: - Initialization
     

     - parameter state:  The state that uses the specified color.
     */
    public func setTitleColor(color: UIColor?, forStatus status: PermissionStatus, andState state: UIControlState = .Normal) {
        guard state == .Normal || state == .Highlighted else { return }
        
        if titleColors[state] == nil {
            titleColors[state] = [:]

     - parameter state:  The state that uses the specified color.
     */
    public func setTitleShadowColor(color: UIColor?, forStatus status: PermissionStatus, andState state: UIControlState = .Normal) {
        guard [.Normal, .Highlighted].contains(state) else { return }
        
        if titleShadowColors[state] == nil {
            titleShadowColors[state] = [:]
