public Cancellable scheduleCallback(Runnable runnable, long scheduledTimeMs, TriggerKey<WK> triggerKey) {
    TriggerCallbackState<WK> timerState = new TriggerCallbackState(triggerKey, runnable, scheduledTimeMs);
    pendingCallbacks.add(timerState);
    LOG.trace("Scheduled a new callback: {} at {} for triggerKey {}", new Object[] {runnable, scheduledTimeMs, triggerKey});
    return timerState;
  }
Schedule the provided runnable for execution at the specified duration.
@param runnable the provided runnable to schedule.
@param scheduledTimeMs time at which the runnable must be scheduled for execution
@param triggerKey a key that uniquely identifies the corresponding trigger firing.
@return a {@link Cancellable} that can be used to cancel the execution of this runnable.
samza-core/src/main/java/org/apache/samza/operators/impl/TriggerScheduler.java