public void fireWaitingEvents() {
		// Synchronise the waitingEventLists which stores the list of all events
		// which were collected during the previous logic update and fire them
		synchronized (waitingEventLists) {
			for (Entry<KeyEventType, Collection<EventHolder>> kvp : waitingEventLists.entrySet()) {
				for (EventHolder eventHolder : kvp.getValue()) {
					kvp.getKey().fireEvent(eventHolder.eventableObject, eventHolder.e);
				}
			}
		}
	}