private void btnAdd_Click(object sender, EventArgs e)
        {
            GroupMember  groupMember   = lstMembers.SelectedItem as GroupMember;
            List <NGuid> boardAssetIds = new List <NGuid>();

            if (groupMember != null)
            {
                boardAssetIds.Add(groupMember.CreatureBoardAsset.BoardAssetId);
            }
            else
            {
                foreach (GroupMember member in lstMembers.Items)
                {
                    boardAssetIds.Add(member.CreatureBoardAsset.BoardAssetId);
                }
            }

            if (!int.TryParse(tbxNumCreatures.Text, out int numCreaturesToSpawn))
            {
                numCreaturesToSpawn  = 1;
                tbxNumCreatures.Text = "1";
            }
            else
            {
                // TODO: Confirm with the user if this number is high.
                if (numCreaturesToSpawn > MaxCreaturesToSpawnAtOnce)
                {
                    Talespire.Log.Warning($"{numCreaturesToSpawn} is too many creatures to spawn at once. Dropping to {MaxCreaturesToSpawnAtOnce}.");
                    numCreaturesToSpawn = MaxCreaturesToSpawnAtOnce;
                }
                numCreaturesToSpawn = Math.Min(numCreaturesToSpawn, MaxCreaturesToSpawnAtOnce);
            }

            List <string> spawnedCreatureIds = MiniGrouperScript?.SpawnMoreMembers(numCreaturesToSpawn, boardAssetIds);

            lock (newlySpawnedCreatureLock)
                newlySpawnedCreatureIds.AddRange(spawnedCreatureIds);

            UpdateNewCreaturesSoon();
        }