For the next version,
instead of using

DrFrame.AddPluginOnNewFunction('PluginName', func)

you can just use:

DrFrame.Bind(DrFrame.EVT_DRPY_NEW, func)

There does not seem to be a performance hit,
although if you do not remember to add event.Skip(),
then things could get a bit odd.  (Of course, that is always the case).

The only plugin that used the old version (that I wrote) is SimpleDebugger, which I will be retiring soon anyway.