Extract a RateLimitingMixin to use with plugins