The previous patch included an large regression, where "batch" of messages where handled as an LIFO. This patch should fix the issue and also removes the dependency on timer.el internal apis. Which makes it instead dependent on undocumented behavior that timers of equal time are executed in LIFO order.