Uses a closure for this in event handler