Update RateLimiter to include numLeft()