Selection update callback (draft)