     open override class var expressionTypes: [String: RuntimeType] {
         var types = super.expressionTypes
         types["title"] = RuntimeType(String.self)
+        types["attributedTitle"] = RuntimeType(NSAttributedString.self)
+        types["titleColor"] = RuntimeType(UIColor.self)
+        types["titleShadowColor"] = RuntimeType(UIColor.self)
+        types["image"] = RuntimeType(UIImage.self)
+        types["backgroundImage"] = RuntimeType(UIImage.self)
         for state in controlStates.keys {
             types["\(state)Title"] = RuntimeType(String.self)
-        }
-        types["attributedTitle"] = RuntimeType(NSAttributedString.self)
-        for state in controlStates.keys {
             types["\(state)AttributedTitle"] = RuntimeType(NSAttributedString.self)
-        }
-        types["titleColor"] = RuntimeType(UIColor.self)
-        for state in controlStates.keys {
             types["\(state)TitleColor"] = RuntimeType(UIColor.self)
-        }
-        types["titleShadowColor"] = RuntimeType(UIColor.self)
-        for state in controlStates.keys {
             types["\(state)TitleShadowColor"] = RuntimeType(UIColor.self)
+            types["\(state)Image"] = RuntimeType(UIImage.self)
+            types["\(state)BackgroundImage"] = RuntimeType(UIImage.self)
         }
         for (name, type) in UILabel.cachedExpressionTypes {
             types["titleLabel.\(name)"] = type
         }
-        types["image"] = RuntimeType(UIImage.self)
-        for state in controlStates.keys {
-            types["\(state)Image"] = RuntimeType(UIImage.self)
-        }
         for (name, type) in UIImageView.cachedExpressionTypes {
             types["imageView.\(name)"] = type
-        }
-        types["backgroundImage"] = RuntimeType(UIImage.self)
-        for state in controlStates.keys {
-            types["\(state)BackgroundImage"] = RuntimeType(UIImage.self)
         }
         // Setters used for embedded html
         types["text"] = RuntimeType(String.self)

    }
}

extension UIProgressView {
    open override class var expressionTypes: [String: RuntimeType] {
        var types = super.expressionTypes

    open override class var expressionTypes: [String: RuntimeType] {
        var types = super.expressionTypes
        types["items"] = RuntimeType(NSArray.self)
        // TODO: find a good naming scheme for left/right state variants
        types["backgroundImage"] = RuntimeType(UIImage.self)
        types["titleColor"] = RuntimeType(UIColor.self)
        types["titleFont"] = RuntimeType(UIFont.self)
        for state in controlStates.keys {
            types["\(state)BackgroundImage"] = RuntimeType(UIImage.self)
            types["\(state)TitleColor"] = RuntimeType(UIColor.self)
            types["\(state)TitleFont"] = RuntimeType(UIFont.self)
        }
        types["dividerImage"] = RuntimeType(UIImage.self)
        types["contentPositionAdjustment"] = RuntimeType(UIOffset.self)
        types["contentPositionAdjustment.horizontal"] = RuntimeType(CGFloat.self)
        types["contentPositionAdjustment.vertical"] = RuntimeType(CGFloat.self)
