if you're registering callbacks then the state may change between requests