Should use `putIfAbsent` from `ConcurrentMap` here