Made generators store their values and shuffle optionally