I know what a vtable is, but what is vtable-based effect programming?