(actually, init-time code using introspection to dynamically add classes, fields, methods etc. to the classes being initialized) see impl. of ActiveRecords in "Ruby On Rails" for examples on how to do this. More specifically, see activerecord/lib/active_record/aggregations.rb in the "Ruby On Rails" distributionback to ruby (C) 1998-2017 Olaf Klischat <olaf.klischat@gmail.com>