         commands.push (packagePath, callback) =>
           @installModule(options, pack, packagePath, callback)
 
-        async.waterfall commands, (error) ->
+        async.waterfall commands, (error) =>
           unless installGlobally
             if error?
-              process.stdout.write '\u2717\n'.red
+              @logSuccess()
             else
-              process.stdout.write '\u2713\n'.green
+              @logFailure()
           callback(error)
 
   # Install all the package dependencies found in the package.json file.

            source = path.join(nodeModulesDirectory, child)
            destination = path.join(@atomPackagesDirectory, child)
            fs.cp(source, destination, forceDelete: true)
          process.stdout.write '\u2713\n'.green

        callback()
      else
        if installGlobally
          fs.removeSync(installDirectory)
          process.stdout.write '\u2717\n'.red

        callback("#{stdout}\n#{stderr}")


  #            as the second.
  downloadPackage: (packageUrl, installGlobally, callback) ->
    requestSettings = url: packageUrl
    request.createReadStream requestSettings, (readStream) =>
      readStream.on 'error', (error) ->
        callback("Unable to download #{packageUrl}: #{error.message}")
      readStream.on 'response', (response) =>
        if response.statusCode is 200
          filePath = path.join(temp.mkdirSync(), 'package.tgz')
          writeStream = fs.createWriteStream(filePath)
