If you remove a value or statue listener from an AnimationController during iteration, the listener will still be notified (if it hasn't already been notified during the iteration). This iteration pattern can lead to subtle bugs. In other places (e.g., ChangeNotifier), we use a stronger iteration pattern that checks for removal before notifying.