It would be better to do this on the fly in the Key() method. We don't want to allow the keys to get out of sync with the tracked client.