public void updateMessenger(int messengerid, String namefrom, int fromchannel)
      throws RemoteException {
    MapleMessenger messenger = WorldRegistryImpl.getInstance().getMessenger(messengerid);
    int position = messenger.getPositionByName(namefrom);

    for (int i : WorldRegistryImpl.getInstance().getChannelServer()) {
      ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
      try {
        cwi.updateMessenger(messenger, namefrom, position, fromchannel);
      } catch (RemoteException e) {
        WorldRegistryImpl.getInstance().deregisterChannelServer(i);
      }
    }
  }
  public void leaveMessenger(int messengerid, MapleMessengerCharacter target)
      throws RemoteException {
    MapleMessenger messenger = WorldRegistryImpl.getInstance().getMessenger(messengerid);
    if (messenger == null) {
      throw new IllegalArgumentException("No messenger with the specified messengerid exists");
    }
    int position = messenger.getPositionByName(target.getName());
    messenger.removeMember(target);

    for (int i : WorldRegistryImpl.getInstance().getChannelServer()) {
      ChannelWorldInterface cwi = WorldRegistryImpl.getInstance().getChannel(i);
      try {
        cwi.removeMessengerPlayer(messenger, position);
      } catch (RemoteException e) {
        WorldRegistryImpl.getInstance().deregisterChannelServer(i);
      }
    }
  }