               transition: Node.Transitions.ACTIVATE
             return Node.deactivate sibling
       else
+        return false unless parent.childrenCanActivate()
         parent.setOnActivatedAction
           node: node
           transition: Node.Transitions.ACTIVATE

    @onDeactivatedAction = ->
      onDeactivatedAction

    @setMode = (m) ->
      mode = m



    mode = opts.mode ||= Node.Modes.EXCLUSIVE
    initialState = opts.initialState ||= Node.States.DEACTIVATED

    # By default children automatically activate their parents 
    # if they are not activated.
    if opts.childrenCanActivate == false
      childrenCanActivate = false
    else
      childrenCanActivate = true

    onActivatedAction = null
    onDeactivatedAction = null
