public void initCommands() {
		LOGGER.debug("method initCommands starting...");

		// 1. Initialize the standard commands
		exitCommand = propertiesLoader.loadProperty(Constants.MAIN_EXIT_COMMAND);
		helpCommand = propertiesLoader.loadProperty(Constants.MAIN_HELP_COMMAND);

		commands = new HashMap<String, Command>();

		// 2. Load available commands
		ServiceLoader<Command> commandLoader = ServiceLoader.load(Command.class);
		commandLoader.reload();

		// 3. Map commands to its type.
		Iterator<Command> commandsIterator = commandLoader.iterator();
		while (commandsIterator.hasNext()) {
			Command command = commandsIterator.next();
			commands.put(command.getType(), command);
		}

	}