Every time this screen saver displays, it queries for a new list of games every time. This can lead to unwanted repetition, since we fail to iterate through the entire list of games each time.
If we cache the list of viewed games, we can filter them out on next display without needing to worry about displaying invalid titles if we cached the remaining games instead.
The cache should be cleared upon every completed iteration of all games and only be used if the active group has not changed.
Every time this screen saver displays, it queries for a new list of games every time. This can lead to unwanted repetition, since we fail to iterate through the entire list of games each time. If we cache the list of viewed games, we can filter them out on next display without needing to worry about displaying invalid titles if we cached the remaining games instead. The cache should be cleared upon every completed iteration of all games and only be used if the active group has not changed.