     new BufferedNodeProcess({command, args, stdout, stderr, exit})
 
   loadAvailable: (callback) ->
-    args = ['available', '--json']
-    exit = (code, stdout, stderr) =>
+    @runCommand ['available', '--json'], (code, stdout, stderr) =>
       if code is 0
         try
           @packages = JSON.parse(stdout) ? []

        else
          @emit 'package-uninstall-failed', pack, error
        callback(error)

    @runCommand(args, exit)

    {name, theme} = pack
    atom.packages.deactivatePackage(name) if atom.packages.isPackageActive(name)

    @runCommand ['uninstall', name], (code, stdout, stderr) =>
      if code is 0
        atom.packages.unloadPackage(name) if atom.packages.isPackageLoaded(name)
        callback?()
