Using define_method for more meta metaprogramming