     @status = "not started"
 
   run: ->
+    @emit "healthCheckStarted"
     @status = "waiting"
     @startTime = Date.now()
     @setPingTimeout()

    , 5000

  finish: (data)->
    @status = "success"
    @finishTime = Date.now()
    clearTimeout @pingTimeout
    @pingTimeout = null
    @emit "healthCheckCompleted"

  reset: ->
    @status = "waiting"

    @startTime = null

  getResponseTime: ->
    if @status is "success" then @finishTime - @startTime else 0