Reorganised event handling