code: protected void register(String id, Promise promise, long timeoutAt, String nodeID, String action) {
  		promises.put(id, new PendingPromise(promise, timeoutAt, nodeID, action));
  
  		long nextTimeoutAt = prevTimeoutAt.get();
  		if (nextTimeoutAt == 0 || (timeoutAt / 100 * 100) + 100 < nextTimeoutAt || promises.size() < 3) {
  			scheduler.execute(() -> {
  				reschedule(timeoutAt);
  			});
  		}
  	}
docs: --- REGISTER PROMISE ---