steal("can/util", "can/view/callbacks", function(can){

	can.view.tag("can-import", function(el, tagData){
		var moduleName = el.getAttribute("from");
		var importPromise;
		if(moduleName) {
			importPromise = can["import"](moduleName);
		} else {
			importPromise = can.Deferred().reject("No moduleName provided").promise();
		}

		var root = tagData.scope.attr("@root");
		if(root && can.isFunction(root.waitFor)) {
			root.waitFor(importPromise);
		}

		if(tagData.subtemplate) {
			var scope = tagData.scope.add(importPromise);
			var frag = tagData.subtemplate(scope, tagData.options);

			can.appendChild(el, frag);
		}
	});

});

@@ -592,32 +592,256 @@
 %0A%09%09%09
-can.appendChild(el, frag
+var nodeList = can.view.nodeLists.register(%5B%5D, undefined, true);%0A%09%09%09can.one.call(el, %22removed%22, function()%7B%0A%09%09%09%09can.view.nodeLists.unregister(nodeList);%0A%09%09%09%7D);%0A%0A%09%09%09can.appendChild(el, frag);%0A%09%09%09can.view.nodeLists.update(nodeList, can.childNodes(el)
 );%0A%09

Set up nodeLists for can-import