`data.Id = (Interlocked.Increment(ref counter)).ToString()` - deals with multi-threading issues.