document handle oninsert/onremove, surface first changes