improve performances: events on DataModel are now always by batch of rows instead of individuals, so that events can handle optimization in case of several rows