@Override
    public boolean execute(CommandSender sender, String[] args) {
        if (args.length < 1) {
            return false;
        }
        PermissionUser target;
        try {
            target = plugin.getDataManager().getUser(args[0]);
        } catch (DataLoadFailedException ex) {
            plugin.getLogger().log(Level.SEVERE, "An error occured on loading " + args[0], ex);
            sender.sendMessage(ChatColor.RED + "An error occured on loading " + args[0]);
            return true;
        }
        if (target == null) {
            sender.sendMessage(ChatColor.RED + "No target gound with that name");
            return true;
        }
        if (args.length == 2 && !args[1].equalsIgnoreCase("status")) {
            boolean newState;
            if ((args[1].equalsIgnoreCase("on")) || (args[1].equalsIgnoreCase("enable")) || (args[1].equalsIgnoreCase("true"))) {
                newState = true;
            } else if (args[1].equalsIgnoreCase("toggle")) {
                newState = !target.isDebug();
            } else {
                sender.sendMessage(args[1] + " is an invalid argument");
                return false;
            }
            target.setDebug(newState);
            sender.sendMessage(ChatColor.YELLOW + target.getName() + "'s new debug state: " + target.isDebug());
        } else {
            sender.sendMessage(ChatColor.YELLOW + target.getName() + "'s debug status: " + target.isDebug());
        }
        return true;
    }