     disposableHTMLTOJSX = atom.commands.add 'atom-workspace', 'react:HTML-to-JSX', => @onHTMLToJSX()
     disposableProcessEditor = atom.workspace.observeTextEditors @processEditor.bind(this)
 
-    @disposables.push disposableConfigListener
-    @disposables.push disposableReformat
-    @disposables.push disposableHTMLTOJSX
-    @disposables.push disposableProcessEditor
+    @disposables.add disposableConfigListener
+    @disposables.add disposableReformat
+    @disposables.add disposableHTMLTOJSX
+    @disposables.add disposableProcessEditor
 
 
 module.exports = AtomReact

contentCheckRegex = null
defaultDetectReactFilePattern = '/((require\\([\'"]react(?:-native)?[\'"]\\)))|(import\\s+\\w+\\s+from\\s+[\'"]react(?:-native)?[\'"])/'
autoCompleteTagStartRegex = /(<)([a-zA-Z0-9\.:$_]+)/g

    disposableBufferEvent = editor.buffer.onDidChange (e) =>
                        @autoCloseTag e, editor

    @disposables.add editor.onDidDestroy => disposableBufferEvent.dispose()

    @disposables.add(disposableBufferEvent);

  deactivate: ->
    @disposables.dispose()
  activate: ->

    @disposables = new CompositeDisposable();

    jsxTagStartPattern = '(?x)((^|=|return)\\s*<([^!/?](?!.+?(</.+?>))))'
    jsxComplexAttributePattern = '(?x)\\{ [^}"\']* $|\\( [^)"\']* $'
