This is a very substantial amount of work, though. The whole event model will need to be aware of the selection of specific portions. This should really be specified in some detail and then implemented in a separate branch because it will certainly destabilise the tree for a long time.