Reimplement event handling