     super
 
     @emitter = new Emitter
-    @subscriptions = new CompositeDisposable
+    @itemSubscriptions = new WeakMap
     @items = []
 
     @addItems(compact(params?.items ? []))

    return if item in @items

    if typeof item.onDidDestroy is 'function'
      @subscriptions.add item.onDidDestroy => @removeItem(item, true)
    else if typeof item.on is 'function'
      @subscribe item, 'destroyed', => @removeItem(item, true)


    @container.activateNextPane() if @isActive()
    @emitter.emit 'did-destroy'
    @emitter.dispose()
    for item in @items.slice()
      @itemSubscriptions.get(item)?.dispose()
      @itemSubscriptions.delete(item)
      item.destroy?()
    @container?.didDestroyPane(pane: this)

  ###
