override _onEvent instead of _update