       width: Ti.UI.SIZE
       height: Ti.UI.SIZE
       backgroundColor: "transparent"
-      zIndex: 2
     })
     
-    if @startStyle("iconSettings")
-      @icon = Ti.UI.createImageView(@startStyle("iconSettings"))
+    if @settings.iconSettings
+      @icon = Ti.UI.createImageView(@settings.iconSettings)
       @content.add(@icon)
     
-    if @startStyle("labelText") && @startStyle("labelText") != ""
+    if @settings.text && @settings.text != ""
       @label = Ti.UI.createLabel({
-        color: @startStyle("labelColor")
-        text: @startStyle("labelText")
-        font: { fontSize: @startStyle("labelFontSize"), fontWeight: "bold" }
+        color: @settings.style.labelColor
+        text: @settings.text
+        font: { fontSize: @settings.fontSize, fontWeight: "bold" }
         shadowOffset: { x: 1, y: 1 }
-        shadowColor: @startStyle("labelShadowColor")
+        shadowColor: @settings.style.labelShadowColor
         textAlign: "center"
         height: Ti.UI.SIZE
         width: Ti.UI.SIZE

      height: Ti.UI.FILL
      width: Ti.UI.FILL
      borderRadius: @settings.borderRadius
      borderWidth: 1
      borderColor: @startStyle("borderColor")
      backgroundGradient: {
        type: 'linear'
        startPoint: { x: 0, y: 0 }
        endPoint: { x: 0, y: "100%" }
        colors: @startStyle("gradient")
        backfillStart: false
      }
      opacity: @settings.opacity
      zIndex: 1
    })
    @view.add(@button)
    

root.Button_Framework = class Button
  constructor:(options = {}) ->
    # Settings
    @settings = root._.extend({
      borderWidth: 1
      borderRadius: 5
      bottom: null
      enabled: true
      fontSize: 12
      height: 30
      left: null
      right: null
      text: "Button"
      top: null
      width: Ti.UI.SIZE
      onClick: () => Ti.API.info("button clicked")
    }, options)
    
    @settings.style = root._.extend({
      borderColor: "#CCC"
      gradient: ["#DDD", "#CCC"]
      labelColor: "#FFF"
      labelShadowColor: "#CCC"
    }, options.style)

    @settings.onClickStyle = root._.extend({}, options.onClickStyle)
    # /Settings
    
    @view = Ti.UI.createView({
      bottom: @settings.bottom
      height: @settings.height
      left: @settings.left
      right: @settings.right
      top: @settings.top
      width: @settings.width
    })
    
    @disabledOverlay = Ti.UI.createView({
      height: Ti.UI.FILL
      width: Ti.UI.FILL
      backgroundColor: "#EEE"
      opacity: 0.5
      zIndex: 10
    })
    @view.add(@disabledOverlay)
    
    @view.addEventListener("singletap", () => @settings.onClick() if @view.enabled)
    @view.addEventListener("touchstart", () => @onTouchStart() if @view.enabled)
