     KD.singleton("mainController").on "AccountChanged", =>
       liveUpdateChecker = new LiveUpdateChecker
       @registerItem "liveUpdate",
-        troubleshoot: liveUpdateChecker.healthCheck.bind liveUpdateChecker
-        recover     : liveUpdateChecker.healthCheck.bind liveUpdateChecker
+        troubleshoot: liveUpdateChecker.bound 'healthCheck'
+        recover     : liveUpdateChecker.bound 'healthCheck'
 
     @registerItem "version",
       speedCheck   : no

    vmChecker = new VMChecker
    @registerItem "vm",
      speedCheck   : no
      troubleshoot : vmChecker.healthCheck.bind vmChecker
      recover      : vmChecker.healthCheck.bind vmChecker

  registerConnections: ->
    #register connection
    externalUrl = "https://s3.amazonaws.com/koding-ping/healthcheck.json"
    item = new ConnectionChecker crossDomain: yes, externalUrl
    @registerItem "connection", troubleshoot: item.ping.bind item

    # register webserver status
    webserverStatus = new ConnectionChecker({}, "#{window.location.origin}/-/healthCheck")
    @registerItem "webServer", troubleshoot: webserverStatus.ping.bind webserverStatus

  registerBrokers: ->
    # register broker
    broker = KD.remote.mq
    @registerItem "broker",
      troubleshoot : broker.ping.bind broker
      recover      : @brokerRecovery.recover.bind @brokerRecovery

    # register kite
    brokerKite = KD.kite.mq
    @registerItem "brokerKite",
      troubleshoot : brokerKite.ping.bind brokerKite
      recover      : @brokerKiteRecovery.recover.bind @brokerKiteRecovery

  registerItem : (name, options) ->
    options.name = name

    # register osKite
    vc = KD.singleton "vmController"
    @registerItem "osKite",
      troubleshoot : vc.bound 'ping'
      recover      : vc.bound 'ping'

    # register bongo
    KD.remote.once "modelsReady", =>
