@Override
	public void commandReceived(String command) 
	{
		String[] argData = command.split(" ");
		argData[0] = Character.toUpperCase(argData[0].charAt(0)) + argData[0].substring(1);
		String[] args = new String[argData.length - 1];
		System.arraycopy(argData, 1, args, 0, args.length);
		try{
			Class<?> className = Class.forName("commands." + argData[0]);
			CliCommand cli = (CliCommand)className.newInstance();
			batchOs.writeLine(cli.execute(args));
		}catch(Throwable thrown){
			if (thrown instanceof ClassNotFoundException){
				batchOs.writeLine("java.lang.ClassNotFoundException for "+ command);
			}else if(thrown instanceof IOException){
				batchOs.writeLine("java.io.IOException for "+ command);
			}else if(thrown instanceof InstantiationException){
				batchOs.writeLine("java.lang.InstantiationException for "+ command);
			}else if(thrown instanceof IllegalAccessException){
				batchOs.writeLine("java.lang.IllegalAccessException for "+ command);
			}else{
				batchOs.writeLine("java.Throwable Exception for " + command);
			}
		}	
	}