 
     @oldValue     = null
     @currentValue = [] if options.multiple
+    @setDisabled options.disabled
 
   setDomElement:(cssClass)->
     {labels, name, defaultValue} = @getOptions()

  #     state

  constructor:(options = {}, data)->

    options.size         or= "small"             # a String tiny/small/big
    options.labels       or= ["ON", "OFF"]       # supports multiple labels as string
    options.multiple     ?= no

        do @switchStateChanged

  switchStateChanged:->
    return  if @_disabled

    @getCallback().call @, @getValue() if @getCallback()?

  fallBackToOldState:->
