void runDeferred(DeferredHandler f) { __EVENTEMITTER_LOCK_GUARD(mutex); auto it = deferredQueue.cbegin(); auto prevIt = deferredQueue.cbefore_begin(); for(; it != deferredQueue.cend(); prevIt = it, ++it); deferredQueue.emplace_after(prevIt, std::move(f)); }