fix implementation of exhausted state, remove it using a trigger instead of as part of the static to ensure it is only removed once