event handling

passThrough function implements silent chaining for old events