'Return an event collection which can be modified.
For _EmptyListener at the instance level of
a dispatcher, this generates a new
_ListenerCollection, applies it to the instance,
and returns it.'

def for_modify(self, obj):

    result = _ListenerCollection(self.parent, obj._parent_cls)
    if (obj.__dict__[self.name] is self):
        obj.__dict__[self.name] = result
    return result
