public void CreateNewFaction(string name, Sprite icon)
        {
            Utilities.Log($"Sprite icon null? {(icon == null).ToString()}", "SapientTABS.DatabaseModifier.log");
            Faction faction = new Faction();

            faction.Init();
            faction.Units             = new UnitBlueprint[0];
            faction.Entity.Name       = name;
            faction.Entity.SpriteIcon = icon;
            faction.name             = name;
            faction.m_displayFaction = true;

            // make sure there isn't a faction by this name already - which is a good check since the JSON is user-created
            if (!factionsCreatedNames.Contains(faction.Entity.GUID.m_ID))
            {
                factionsCreatedNames.Add(faction.Entity.GUID.m_ID);
                faction.index++; // old code was: += factionsCreatedNames.Count;

                //NOTE: I don't think we really need the following line, but it's a nice thought -
                //database.Factions.Add(faction);
                m_Database.AddFactionWithID(faction);
                Utilities.Log($"Faction seems to have been added for {name}", "SapientTABS.DatabaseModifier.log");
            }
        }