As this is generic functionality that can be used by multiple modules at the same time, do we need to provide any namespacing for the locking?