 	removeClass: (classes) ->
 		@el.removeClass(classes)
 
-	enable: (recursive = true)->
+	enable: (recursive = true, updateClass = true)->
 		@enabled = true
-		@removeClass 'disabled'
+		@removeClass('disabled') if updateClass
 		if recursive is true
 			for viewName, view of @views
 				view.enable()
 		@
 
-	disable: (recursive = true) ->
+	disable: (recursive = true, updateClass = true) ->
 		@enabled = false
-		@addClass 'disabled'
+		@addClass('disabled') if updateClass
 		if recursive is true
 			for viewName, view of @views
 				view.disable()

			@el = el

		@customOutlets = {} if not @customOutlets?
		# Add additional default custom outlets.
		#if @el.attr('value') != null then @customOutlets.value =
		#	get: (el) ->


	show: ->
		@hidden = false
		@enable(true, false)
		@removeClass('hidden')

	hide: ->
		@hidden = true
		@disable(true, false)
		@addClass('hidden')

	hideAction: -> @hide()
