 	}
 
 
+	// TODO this is hacky but tintColor is quite special anyway. We should split this up to normalTintColor, highlightedTintColor and appliedTintColor.
+	open override var tintColor: UIColor? {
+		get { return super.tintColor }
+		set {
+			guard newValue != defaultTintColor else {
+				return
+			}
+
+			defaultTintColor = newValue
+
+			updateTintColor()
+		}
+	}
+
+
 	open override func tintColorDidChange() {
 		super.tintColorDidChange()
 

			}

			updateBorderColor()
		}
	}


	fileprivate var defaultAlpha = CGFloat(1)
	fileprivate var defaultBackgroundColor: UIColor?
	fileprivate var defaultBorderColor: UIColor?
	fileprivate var defaultTintColor: UIColor?

	open var tapped: Closure?
	open var touchTolerance = CGFloat(75)
