[WIP] client side event handling