@SuppressWarnings("unchecked")
	private <L extends Listener> Bag<L> listenersOf(
			Class<? extends Event<L>> event) {
		Bag<L> listeners = (Bag<L>) eventToListeners.get(event);
		if (listeners == null) {
			listeners = new Bag<L>();
			eventToListeners.put(event, listeners);
		}

		return listeners;
	}