private synchronized void bindDispatcher() {
if (dispatcher != null)
throw new RuntimeException("Listener already bound.");
EventQueue queue = new EventQueue();
dispatcher = new EventDispatcher(queue);
setEventQueue(queue);
// Starting the event dispatcher on a separate thread (it will be
// shared thru multiple web clients).