You're right. But there is another issue. We never update the `reset` time which means that if `amount > b.remaining` we will never update the bucket state. Remaining never goes up.