public static int FreeToken(this TokenBatch tokenBatch) => tokenBatch.TokenItems.Count(t => !t.IsUsed);
public static bool IsFullyUsed(this TokenBatch tokenBatch) => !tokenBatch.TokenItems.Any(t => !t.IsUsed);