public void updateAndClearLists() {
		// Synchronise the waitingEventLists which stores the list of all events
		// which were collected during the previous logic update and clear each
		// individual key
		synchronized (waitingEventLists) {
			for (Collection<EventHolder> eventHolderList : waitingEventLists.values()) {
				eventHolderList.clear();
			}
		}

		// Update the list of all registered IKeyboardEventable that want to
		// recieve key events during the next logic update. It is here that we
		// add those waiting, and remove those that wanted to be removed
		synchronized (registeredListeningObjects) {
			registeredListeningObjects.updateLists();
		}
	}