@Override
	public void keyPressed(KeyEvent e) {
		// Synchronise the registeredListeningObjects
		synchronized (registeredListeningObjects) {
			for (IKeyboardEventable keyListener : registeredListeningObjects) {
				synchronized (waitingEventLists) {
					waitingEventLists.get(KeyEventType.KEY_PRESSED).add(new EventHolder(e, keyListener));
				}
			}
		}

		if (!currentlyDownKeys.contains(e.getKeyCode())) {
			currentlyDownKeys.add(e.getKeyCode());
		}
	}