*laughs* Then I must've accidentally implemented a metaclass that does all my OO book-keeping for me. All my mutators are defined using closures over an array data structure whose reference is blessed. So, if I wanted to add logging to all mutators, I change the way the mutators are created. (In fact, I do this on a regular basis.)
My baseclass gives me access to doing things during:
- Object instantiation
- Mutator access
- Attribute definition
- Object initialization
What other actions do I need to provide traps for?
We are the carpenters and bricklayers of the Information Age.
The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6
Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.