[proxyhandler] don't use getters/setters
added CollectingHandler

collects all events and passes them through to another handler

can simulate a reset for the underlying handler using the `restart()`
method
[tests] use the new CollectingHandler
[tests] removed unused `f` var