@Override
	protected void process(List<String> chunks)
	{
		for (String message : chunks) {
			if ("connecting".equals(message)) {
				connectButton.setText("Connecting...");
				connectButton.setEnabled(false);
			}

			if ("connected".equals(message)) {
				connectButton.setText("Disconnect");
				ip.setEnabled(false);
				port.setEnabled(false);
				connectButton.setEnabled(true);
				SwingUtilities.windowForComponent(connectButton).setVisible(false);
			}

			if ("disconnecting".equals(message)) {
				connectButton.setText("Disonnecting...");
				connectButton.setEnabled(false);
			}

			if ("disconnected".equals(message)) {
				connectButton.setText("Connect");
				ip.setEnabled(true);
				port.setEnabled(true);
				connectButton.setEnabled(true);
			}

			if (message.substring(0, 1).equals("$")) {
				race.update(Factory.getMessage(message));
				if (recorder != null) {
					recorder.push(message);
				}
				if (estimator != null) {
					estimator.update(race);
				}
			}
		}
	}