Messing around with some Ruby metaprogramming stuff