     new Promise (resolve, reject) =>
       @requestingInfo[machineId] ?= []
       @requestingInfo[machineId].push { resolve, reject }
+
+
+  resolveRequestingInfos: (machineId, info)->
+
+    @requestingInfo?[machineId].forEach ({ resolve }) ->
+      resolve info
+
+    @requestingInfo[machineId] = null
+    @needsRequest[machineId]   = yes
 
 
   askInfoFromKlient: (machineId, callback) ->

    @tell 'info', { machineId }

      .then (info) =>
        @requestingInfo[machineId].forEach ({ resolve }) -> resolve info
        @requestingInfo[machineId] = null

      .timeout ComputeController.timeout

      .catch (err) =>

        warn "[kloud:info] failed, sending current state back:", { currentState, err }

        @requestingInfo[machineId].forEach ({ resolve }) ->
          resolve State: currentState
        @requestingInfo[machineId] = null

      .finally => @needsRequest[machineId] = yes


        if klientInfo?

          @resolveRequestingInfos machineId, klientInfo

        else

