public CLI(CLC controller, String... args) {
		br = new BufferedReader(new InputStreamReader(System.in));
		this.innerController = controller;
		this.controller = new CLIController();
		try {
			if(args.length > 0) {
				String[] scriptArgs = new String[args.length + 1];
				scriptArgs[0] = "run";
				for(int i = 0; i < args.length; i++) {
					scriptArgs[i+1] = args[i];
				}
				ArgSet scripts = new ArgSet(scriptArgs);
				this.controller.handle(scripts);
			}
			readLoop();
			System.exit(0);
		} catch (IOException e) {
			System.err.println("[CLI] An error occurred while reading input from the command line.");
			e.printStackTrace();
		}
	}