     @attached = true
     @trigger 'pane:attached', [this]
 
-  # Public: Focus this pane.
-  makeActive: ->
-    wasActive = @isActive()
-    for pane in @getContainer().getPanes() when pane isnt this
-      pane.makeInactive()
-    @addClass('active')
-    @trigger 'pane:became-active' unless wasActive
-
-  # Public: Unfocus this pane.
-  makeInactive: ->
-    wasActive = @isActive()
-    @removeClass('active')
-    @trigger 'pane:became-inactive' if wasActive
-
-  # Public: Returns whether this pane is currently focused.
-  isActive: ->
-    @getContainer()?.getActivePane() == this
+  onActiveStatusChanged: (active) =>
+    if active
+      @addClass('active')
+      @trigger 'pane:became-active'
+    else
+      @removeClass('active')
+      @trigger 'pane:became-inactive'
 
   # Public: Returns the next pane, ordered by creation.
   getNextPane: ->

    @subscribe @model, 'item-moved', @onItemMoved
    @subscribe @model, 'before-item-destroyed', @onBeforeItemDestroyed
    @subscribe @model, 'item-destroyed', @onItemDestroyed

    @subscribe @model.$focused, 'value', (focused) =>
      if focused

      else
        @blur() if @hasFocus()

    @subscribe this, 'focusin', => @model.focus()
    @subscribe this, 'focusout', => @model.blur()
    @subscribe this, 'focus', =>
      @model.suppressBlur => @activeView?.focus()
      false

    @command 'pane:save-items', => @saveItems()
    @command 'pane:show-next-item', => @showNextItem()
