This class is split out from the Rate limiter to allow for better testing It effectively should manage the timesteps in which a request ticket can be allowed