You could make it work by making a copy of the vtbl[], modifying it as you please, and seeing __vptr to it. If you're trying to implement signals and slots, it's already in the library: http://dlang.org/phobos/std_signals.html