 		unless @lineageIsBusy(c)
 			if !c.isActive()
 				return ControllerHelper.activateController(c)
+		false
 	
 	@deactivate: (c) ->
 		unless @lineageIsBusy(c)
 			if c.isActive()
 				return ControllerHelper.deactivateController(c)
-	
+		false
+
 	@toggle: (c) ->
 		if c.isActive()
 			return @deactivate c

	@STATE_ACTIVATED = "activated"
	@STATE_DEACTIVATED = "deactivated"

	#
	# Options:
	# defaultChild		Controller
	#
	
	constructor: (options={}) ->
		@sm = new StateMachine
		
		defaultState = options.defaultState
		
		@sm.addState Controller.STATE_DEACTIVATED, defaultState == Controller.STATE_ACTIVATED ? false : true
		@sm.addState Controller.STATE_ACTIVATED, defaultState == Controller.STATE_ACTIVATED ? true : false
		

		@sm.getNextState() != null
		
	isBusy: ->
		return true if @isTransitioning()
		
		if @mode == 'exclusive'
			return true if @onActivatedAction or @onDeactivatedAction

			for child in @children
				return true if child.isBusy()
		
		return false
	
