// TODO only notify channels where partymembers are?
 public void updateParty(int partyid, PartyOperation operation, MaplePartyCharacter target)
     throws RemoteException {
   MapleParty party = WorldRegistryImpl.getInstance().getParty(partyid);
   if (party == null) {
     throw new IllegalArgumentException("no party with the specified partyid exists");
   }
   switch (operation) {
     case JOIN:
       party.addMember(target);
       break;
     case EXPEL:
     case LEAVE:
       party.removeMember(target);
       break;
     case DISBAND:
       WorldRegistryImpl.getInstance().disbandParty(partyid);
       break;
     case SILENT_UPDATE:
     case LOG_ONOFF:
       party.updateMember(target);
       break;
     default:
       throw new RuntimeException("Unhandeled updateParty operation " + operation.name());
   }
   for (int i : WorldRegistryImpl.getInstance().getChannelServer()) {
     ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
     try {
       cwi.updateParty(party, operation, target);
     } catch (RemoteException e) {
       WorldRegistryImpl.getInstance().deregisterChannelServer(i);
     }
   }
 }