Add support for generators that reference themselves
Add a generator that records its transactions