private void startTournamentWatch() {
			Thread watchThread = new Thread( new Runnable() {
				@Override
				public void run() {
		    		while (tournamentThread != null && tournamentThread.isAlive()) {
		    			try {
		    				messageLabel.setText("Games completed: " 
		    			+ facade.getTournamentNumGamesCompleted());
							Thread.sleep(200);
						} catch (InterruptedException e) {
							e.printStackTrace();
						}
		    		}
		    		runButton.setEnabled(true);
	        		long endTime = System.currentTimeMillis();
	        		long duration = endTime - startTime;
					statsTableModel.loadTable(facade);
					int decimal = (int)(duration % 1000);
					String decimalStr = "." + decimal;
					if(decimal == 0){
						decimalStr = ".000";
					}
					else if(decimal < 10){
						decimalStr = ".00" + decimal;
					}
					else if(decimal < 100){
						decimalStr = ".0" + decimal;
					}
	        		messageLabel.setText("Tournament ran in " + duration/3600000 + ":" 
							+ (duration/60000)%60 + ":" + (duration/1000)%60 + decimalStr + " seconds.");
				}
			});
			watchThread.start();
		}