protected void buildActions() {
		btnDelete.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent e) {
				// ask the admin for input on whether to delete or not
				int response = JOptionPane.showConfirmDialog(null,
						"Would you like to delete currently selected "
								+ PString(), "Delete " + PString(),
						JOptionPane.YES_NO_OPTION);

				if (response == JOptionPane.YES_OPTION) {
					// user said they want to delete Person
	
					P p = loadedPerson;
					
					if (p == null) {
						System.out.println("We goofed really badly.");
						throw new NullPointerException("Could not get " +
								PString() + " from game data.");
					}
					
					int row = tableModel.getRowByPerson(p);
					boolean selRow = (table.getRowCount() > 1);

					// remove the contestant from the game
					tableModel.removePerson(p);
					
					if (selRow && (p != null)) {
						row %= table.getRowCount();
						tableModel.setRowSelect(row, false);
					} else {
						clickSaveButton();
					}
				}
			}
		});
		
		btnSave.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {		
				clickSaveButton();			
			}

		});
		
		table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
			
			public void valueChanged(ListSelectionEvent le) {
				 int row = table.getSelectedRow();
				 if (row < 0) return;
				// oldRow = row;
				 
				 row = table.getRowSorter().convertRowIndexToModel(row);
				 P p = tableModel.getByRow(row);
			     
				 if (p != null){
					 clickSaveButton();
					 
					 setPanelPerson(p, false); 
				 }
			}
		});
		
		cbListener = new ItemListener() {
			
			@Override
			public void itemStateChanged(ItemEvent e) {
				if (e.getStateChange() == ItemEvent.SELECTED) 
					return; // we'll only look at selected
				
				// fake mouse event
				MouseEvent me = new MouseEvent((Component) e.getSource(), 
						e.getID(), System.currentTimeMillis(), 
						WHEN_FOCUSED, 0, 0, 0, false);
				
				mouseClicked(me);
			}
		};
	}