The question is on which thread will replayCallback called. Always on the callers thread, or not? Is it safe to close over values in the callback? My point is whatever is the answer it probably should be documented.