public <L extends Listener> void listen(Class<? extends Event<L>> event,
			L listener) {
		Bag<L> listeners = listenersOf(event);
		if (!listeners.contains(listener)) {
			listeners.add(listener);
		}
	}