'Return canonical name for a plugin object. Note that a plugin
may be registered under a different name which was specified
by the caller of register(plugin, name). To obtain the name
of an registered plugin use ``get_name(plugin)`` instead.'

def get_canonical_name(self, plugin):

    return (getattr(plugin, '__name__', None) or str(id(plugin)))
