Using AtomicLong for counters to avoid weirdness