Use correct store and logical abstractions when rate-limiting instead of using exclusive lease
In the GitLab application, there are instances of ExclusiveLease being used as a form of rate-limiting instead of locking. ChatName is one of them.
We could potentially use Gitlab::ApplicationRateLimiter, with some tweaks, for such use cases.