public void HandleFactionChatMessage(int senderEntityId, int factionId, string message)
 {
     ThreadPool.QueueUserWorkItem(o =>
     {
         try
         {
             PlayerInfo senderInfo   = GetUpdatedPlayerInfo(senderEntityId);
             FactionInfo factionInfo = new FactionInfo(); // GetFactionInfo(factionId); // TODO: Fix Faction fetching
             LogMessage("{Faction} " + senderInfo.playerName + " -> " + factionId + ": " + message);
             _factionChatMessageCallback?.Invoke(senderInfo, factionInfo, message);
         }
         catch (Exception ex)
         {
             LogMessage("Error Calling GlobalMessageCallback: " + ex);
         }
     });
 }