Events restructure + buffer event