protected void sendMessage(String target, String text, ChatHandler source) {
   // TODO This shits broken yo. the protocol I mean MESSAGE source
   boolean noSuchAlias = true;
   for (int i = 0; i < chatters.size(); i++) {
     if (chatters.get(i).getChatter().Name.equals(target)) {
       String message = Responses.Message + " " + source.getChatter().Name + "\n" + text + "\n";
       chatters.get(i).sendResponse(message);
       noSuchAlias = false;
     }
   }
   if (noSuchAlias) source.sendResponse(Responses.NoSuchAlias);
 }
  protected void listChatters(ChatHandler chatHandler) {
    StringBuilder response = new StringBuilder();
    response.append(KNordHeaderFields.Responses.List);
    response.append("\r\n");

    for (ChatHandler ch : chatters) {
      response.append(ch.getChatter().Name);
      response.append("\r\n");
    }

    // response.append("\r\n");

    chatHandler.sendResponse(response.toString());
  }
  protected void deleteChatter(ChatHandler chatter) {
    for (int index = 0; index < chatters.size(); index++) {
      if (chatters.get(index).equals(chatter)) {
        chatter.setRunning(false);
        chatters.remove(chatter);

        try {
          chatter.close();
          print("Closed connection to " + chatter.getChatter().Name + ".");
        } catch (IOException e) {
          e.printStackTrace();
        }
        sendListToAll();
        break;
      }
    }
  }