public synchronized void bake() {
		if (events != null) return; // don't re-bake when still valid
		List<RegisteredListener> entries = new ArrayList<RegisteredListener>();
		for (Entry<Priority, ArrayList<RegisteredListener>> entry : muffinbag.entrySet()) {
			entries.addAll(entry.getValue());
		}
		events = entries.toArray(new RegisteredListener[entries.size()]);
	}