         status      : Machine.State.Terminating
         percentage  : 0
 
-      @kloud.destroy { machineId: machine._id }
+      call = @kloud.destroy { machineId: machine._id }
+
+      call.timeout ComputeController.timeout
 
       .then (res)=>
 
         @eventListener.addListener 'destroy', machine._id
         log "destroy res:", res
 
-      .timeout ComputeController.timeout
-
-      .catch errorHandler 'destroy', @eventListener, machine
+      .catch @errorHandler call, 'destroy', machine
 
 
   build: (machine)->


    machine.getBaseKite().disconnect()

    @kloud.build { machineId: machine._id }

    .then (res)=>

      @eventListener.addListener 'build', machine._id
      log "build res:", res

    .timeout ComputeController.timeout

    .catch errorHandler 'build', @eventListener, machine


  start: (machine)->


    machine.getBaseKite( createIfExists = no ).disconnect()

    call = @kloud.stop { machineId: machine._id }

    call.timeout ComputeController.timeout

    .then (res)=>

      @eventListener.addListener 'stop', machine._id
      log "stop res:", res

    .catch @errorHandler call, 'stop', machine


  StateEventMap =
