fix init external files that have already been cached
destroy all nodes on `destroy`
added descriptor push method to node-array