public void WGStatus(String channel, String sender) {
        Integer setwords = 0;
        String availablewords = new String();
        HashMap<String, Integer> setusers = new HashMap<String, Integer>();
        
        Game game;
        game = games.get(getServer() + " " + channel);
        
        if(game == null) {
            sendMessageWrapper(channel, sender, MSG_NOGAME);
            return;
        }
        
        // The users that have words left to set, are added to a seperate map which will be ordered later on        
        for(User user : game.users) {
            setwords += user.wordobjs.size(); // Also calculate the total of set words
            if(user.hasUnsetWords()) {
                setusers.put(user.nick, user.unsetwordobjs.size());
            }
        }
        
        // Java does not support sorting a map by it's value instead of it's keys, so here comes the solution
        ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(setusers.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
            public int compare(Map.Entry<String, Integer> e1, Map.Entry<String, Integer> e2) {
                Integer diff = e2.getValue().compareTo(e1.getValue());
                if(diff == 0) {
                    return e1.getKey().compareTo(e2.getKey());
                }
                else {
                    return diff;
                }
            }
        });
        
        // Now we create the string that will have the users ordered.
        for(Map.Entry<String, Integer> setuser : list) {
            availablewords += setuser.getKey() + " (" + setuser.getValue() + "), ";
        }
        
        sendMessage(channel, sender + ": " + setwords + " words have been set.");
        if(!"".equals(availablewords)) {
            sendMessageWrapper(channel, null, "The following users can set words: " + availablewords.substring(0, availablewords.length()-2));
        }
    }