Good point, yeah we might get unordered events but I don't think it's a problem, or let me put it like this: it's always better than calling the listeners from within the synchronized block I think.