God I love first-order functions. Almost this whole game is drawn using a dictionary of function:image. I wrote a primitive graphical programming language just by passing around first order functions. The tooltips are a dictionary of function:string. And I don't define a single class (non-oop was a learning goal).