Use STM for concurrent operations