private void manageMessage(NetworkMessage nm) {
		//Not initialized
		if (id == -1) {
			if (nm.messageType() == NetworkMessage.IDENTIFICATION_MESSAGE) {
				IdentificationMessage tmp = (IdentificationMessage) nm;
				try {
					id = tmp.getID();
					console.setTitle(console.getTitle() + " (" + id + ")");
					console.displayMsg("Got id: " + id);
				} catch (NetworkMessageException ex) {
					console.displayMsg(ex.getMessage());
				}
			} else {
				console.displayMsg("Got message although not initialized yet. Dropping message.");
				return;
			}
		//Initialized
		} else {
			switch (nm.messageType()) {
				case NetworkMessage.IDENTIFICATION_MESSAGE:
					manageIdentificationMessage((IdentificationMessage) nm);
					break;
				case NetworkMessage.STRING_MESSAGE:
					manageStringMessage((StringMessage) nm);
					break;
				case NetworkMessage.ARRIVAL_CONFIRMED_MESSAGE:
					break;
				case NetworkMessage.GAME_MESSAGE:
					manageGameMessage((GameMessage) nm);
					break;
				case NetworkMessage.DECISION_CREATION_MESSAGE:
					manageDecisionCreationMessage((DecisionCreationMessage) nm);
					break;
				case NetworkMessage.GAME_START_MESSAGE:
					manageGameStartMessage((GameStartMessage) nm);
					break;
				default:
					break;
			}			
		}
	}