lawrence Cyoa Part Deux

alrighty! tried to respond to most of the comments previously. Feedback appreciated!
Confused on this. The names (`f.key`, etc) are not terribly clear, and I feel like this is probably a leaky abstraction from your optimizer. Does this belong elsewhere?