         commands.push (callback) =>
           @installPackage({name, version}, options, callback)
 
-    async.waterfall commands, (error) ->
-      if error?
-        process.stdout.write '\u2717\n'.red
-      else
-        process.stdout.write '\u2713\n'.green
-
-      callback(error)
+    async.waterfall(commands, callback)
 
   installDependencies: (options, callback) ->
     options.installGlobally = false

    packageName = metadata.name
    packageVersion = metadata.version

    auth.getToken (error, token) =>
      if error?
        callback(error)
      else
        @requestPackage packageName, token, (error, pack) =>
          if error?
            callback(error)
          else
            commands = []
            packageVersion ?= pack['dist-tags'].latest
            {tarball} = pack.versions[packageVersion]?.dist ? {}
            unless tarball
              callback("Package version: #{packageVersion} not found")
              return


  #  * callback: The callback function to invoke when done with an error as the
  #    first argument.
  installPackageDependencies: (options, callback) ->
    options = _.extend({}, options, installGlobally: false, installNode: false)
    commands = []
    for name, version of @getPackageDependencies()
