private CommandWords()
    {
        validCommands = new ArrayList<ArrayList<String>>();
        commandWordsDocumentation = new HashMap<String, String>();
        preGameCommands = new ArrayList<String>();

        validCommands.add(new ArrayList<String>());
        validCommands.get(0).add("help");
        validCommands.get(0).add("quit");
        validCommands.get(0).add("back");
        validCommands.get(0).add("manual");
        validCommands.get(0).add("inventory");

        validCommands.add(new ArrayList<String>());
        validCommands.get(1).add("go");
        validCommands.get(1).add("back");
        validCommands.get(1).add("use");
        validCommands.get(1).add("pickup");
        validCommands.get(1).add("drop");
        validCommands.get(1).add("manual");
        validCommands.get(1).add("new");
        validCommands.get(1).add("inspect");

        validCommands.add(new ArrayList<String>());
        validCommands.get(2).add("load");
        validCommands.get(2).add("talk");
        validCommands.get(2).add("go");

        validCommands.add(new ArrayList<String>());
        validCommands.get(3).add("save");        
        validCommands.get(3).add("take");
        validCommands.get(3).add("fight");

        preGameCommands.add("load");
        preGameCommands.add("new");
        preGameCommands.add("quit");

        commandWordsDocumentation.put("help", "Ask for help (no parameters)");
        commandWordsDocumentation.put("quit", "Quit the game (no parameters)");
        commandWordsDocumentation.put("inventory", "See your inventory (no parameters)");
        commandWordsDocumentation.put("back", "Back track your location. Usage: 'back {n}', where 'n' is optional (defaults to 1)");
        commandWordsDocumentation.put("manual", "View all commands or a specific command. Usage: 'manual {command}', where 'command' is optional (defaults to view all)");
        commandWordsDocumentation.put("go", "Go to another location and optionally unlock that location. Usage: 'go {direction}' or 'go {direction} unlock' (must have the key in your inventory)");
        commandWordsDocumentation.put("pickup", "Pickup an object by passing the object name as a parameter. Usage: 'pickup {object}'");
        commandWordsDocumentation.put("inspect", "Insepct an object by passing the object name as a parameter. Usage: 'inspect {object_name}'");
        commandWordsDocumentation.put("new", "Start a new game. Usage: 'new game'");
        commandWordsDocumentation.put("talk", "Talk to a player in the game. Usage: 'talk to {player_name}'");        
        commandWordsDocumentation.put("take", "Take object from a character. Usage: 'take {object} from {character_name}'");
        commandWordsDocumentation.put("load", "Load a saved game. Usage: 'load game {game_save}'");
        commandWordsDocumentation.put("save", "Save the current state of the game.   Usage: 'save game as {game_name}'");
        commandWordsDocumentation.put("fight", "Fight an enemy in the current room. Usage: 'fight {enemy_name} with {weapon_name}'");
    }