     @preserveCursorPositionOnBufferReload()
 
   subscribeToDisplayBuffer: ->
-    @subscribe @displayBuffer.onDidCreateMarker @handleMarkerCreated
-    @subscribe @displayBuffer.onDidUpdateMarkers => @mergeIntersectingSelections()
-    @subscribe @displayBuffer.onDidChangeGrammar => @handleGrammarChange()
-    @subscribe @displayBuffer.onDidTokenize => @handleTokenization()
-    @subscribe @displayBuffer.onDidChange (e) =>
-      @emit 'screen-lines-changed', e
+    @disposables.add @displayBuffer.onDidCreateMarker @handleMarkerCreated
+    @disposables.add @displayBuffer.onDidUpdateMarkers => @mergeIntersectingSelections()
+    @disposables.add @displayBuffer.onDidChangeGrammar => @handleGrammarChange()
+    @disposables.add @displayBuffer.onDidTokenize => @handleTokenization()
+    @disposables.add @displayBuffer.onDidChange (e) =>
+      @emit 'screen-lines-changed', e if includeDeprecatedAPIs
       @emitter.emit 'did-change', e
 
     # TODO: remove these when we remove the deprecations. Though, no one is likely using them
-    @subscribe @displayBuffer.onDidChangeSoftWrapped (softWrapped) => @emit 'soft-wrap-changed', softWrapped
-    @subscribe @displayBuffer.onDidAddDecoration (decoration) => @emit 'decoration-added', decoration
-    @subscribe @displayBuffer.onDidRemoveDecoration (decoration) => @emit 'decoration-removed', decoration
+    if includeDeprecatedAPIs
+      @subscribe @displayBuffer.onDidChangeSoftWrapped (softWrapped) => @emit 'soft-wrap-changed', softWrapped
+      @subscribe @displayBuffer.onDidAddDecoration (decoration) => @emit 'decoration-added', decoration
+      @subscribe @displayBuffer.onDidRemoveDecoration (decoration) => @emit 'decoration-removed', decoration
 
     @subscribeToScopedConfigSettings()
 

    subscriptions.add atom.config.onDidChange 'editor.invisibles', scope: scopeDescriptor, => @updateInvisibles()

  destroyed: ->
    @unsubscribe()
    @disposables.dispose()
    @scopedConfigSubscriptions.dispose()
    selection.destroy() for selection in @getSelections()

    willInsert = true
    cancel = -> willInsert = false
    willInsertEvent = {cancel, text}
    @emit('will-insert-text', willInsertEvent) if includeDeprecatedAPIs
    @emitter.emit 'will-insert-text', willInsertEvent

    if willInsert
