The art of the metaobject protocol - Kiczales, Gregor (The MIT Press, 1991)