         linter = legacy(require "#{atomPackage.path}/lib/#{implementation}")
         @consumeLinter(linter)
 
-  consumeLinter: (linter) ->
-    if linter instanceof Array
-      for singleLinter in linter
-        @_consumeLinter(singleLinter)
-    else
-      @_consumeLinter(linter)
+  consumeLinter: (linters) ->
+    unless linters instanceof Array
+      linters = [ linters ]
+    for linter in linters
+      if @_validateLinter(linter)
+        @instance.linters.push linter
+    new Disposable =>
+      @instance.linters = @instance.linters.filter (item) ->
+        linters.indexOf(item) is -1
 
   consumeStatusBar: (statusBar) ->
     @instance.views.attachBottom(statusBar)

  deactivate: ->
    @instance?.deactivate()

  _consumeLinter: (linter) ->
    if linter.grammarScopes instanceof Array and typeof linter.lint is 'function'
      @instance.linters.push linter
    else
      err = new Error("Invalid Linter Provided")
      atom.notifications.addError err.message, {detail: err.stack}
{Disposable} = require('atom')
module.exports =
  instance: null
  config:
