4
Supposed you create a new wallet and pre-populate it with 100 keys (so you don't need to back it up after each transaction).
How do you know, given an instance of Wallet, which keys have been "used up"? Or, in other words, if you want to use a new key for every transaction, how do you which key to use, given only the wallet state?
Are you supposed to save this information elsewhere?