+binding = process.atomBinding 'crash_reporter'
+fs      = require 'fs'
+os      = require 'os'
+path    = require 'path'
 {spawn} = require 'child_process'
-binding = process.atomBinding 'crash_reporter'
 
 class CrashReporter
   start: (options={}) ->
-    {productName, companyName, submitUrl, autoSubmit, ignoreSystemCrashHandler, extra} = options
+    {@productName, companyName, submitUrl, autoSubmit, ignoreSystemCrashHandler, extra} = options
 
-    productName ?= 'Atom-Shell'
+    @productName ?= 'Atom-Shell'
     companyName ?= 'GitHub, Inc'
     submitUrl ?= 'http://54.249.141.255:1127/post'
     autoSubmit ?= true
     ignoreSystemCrashHandler ?= false
     extra ?= {}
 
-    extra._productName ?= productName
+    extra._productName ?= @productName
     extra._companyName ?= companyName
     extra._version ?=
       if process.type is 'browser'

    else
      start()

module.exports = new CrashReporter

      else
        require('remote').require('app').getVersion()

    start = => binding.start @productName, companyName, submitUrl, autoSubmit, ignoreSystemCrashHandler, extra

    if process.platform is 'win32'
      args = [
        "--reporter-url=#{submitUrl}"
        "--application-name=#{@productName}"
        "--v=1"
      ]
      env = ATOM_SHELL_INTERNAL_CRASH_SERVICE: 1
