Adding replace option, which determines whether or not the node gets replace or is used as a parent.  Moving canvas logic to be immediate instead of onReady