reimplement event delegation as collection item event delegation