@EventHandler(ignoreCancelled = true)
    public void onSignChange(SignChangeEvent event) {
        if (OITG.instance.getArenaManager().getArena(event.getBlock().getLocation()) != null) {
            event.setCancelled(true);
            event.getPlayer().sendMessage(OITG.prefix + ChatColor.RED + "Arena signs cannot be edited!");
            return;
        }
        if (!event.getLine(0).equalsIgnoreCase("oitg"))
            return;
        if (!event.getPlayer().hasPermission("oneinthegun.arena.signs")) {
            event.getPlayer().sendMessage(OITG.prefix + ChatColor.RED + "You don't have permission to create arena signs!");
            event.setCancelled(true);
            return;
        }
        final Arena arena = OITG.instance.getArenaManager().getArena(event.getLine(1));
        if (arena == null) {
            event.getPlayer().sendMessage(OITG.prefix + ChatColor.RED + "The sign contains an invalid arena name!");
            event.setCancelled(true);
            return;
        }
        final Location signLoc = event.getBlock().getLocation();
        OITG.instance.getServer().getScheduler().scheduleSyncDelayedTask(OITG.instance, new Runnable() {
            public void run() {
                arena.addSignLocation(signLoc);
            }
        });
        event.getPlayer().sendMessage(OITG.prefix + "Created a sign for arena: " + arena.toString());
    }