public void mouseClicked(MouseEvent e) {
		synchronized ( waitObject ) {
			if (event == null)
				return;

			CellPanel found = null;

			// Figure out which cell this was in
			for (CellPanel c : zOrder ) {
				if ( c.isVisible() && c.screenPos.contains(e.getPoint()) ) {
					found = c;
					break;
				}
			}

			if ( found != null ) {
				String name = found.getName();

				// Check if this mouse event is in the correct cell
				if ( event instanceof ClickEvent && event.filter(name) ) {
				
					// Update the cell that was last clicked
					event.stop(name);
					
					waitObject.notify();
				}
			}
		}
	}