update day observer logic to group and sort events