Since the ApiRateLimitState is only updated when a request is made, there is a possibility that is becomes stuck on a level. This happens because no schedule is configured to run above a certain level.
To solve this we thought of creating a scheduled task that runs ever x minutes and checks if requests have been made in that time frame. If it turns out that no requests have been made then the status will be dropped down a level.