         state
 
     destroy: (opts) ->
-        @replace?.use?(null).replace(null)
-        @insert?.use?(null).replace(null)
+        @parent_done?.use?(null).replace(null)
         @manip?.cancel()
         @done?.reset()
         if opts.soft
             this[key] = null for key in SHARED
         else
+            @insert?.use?(null).replace(null)
+            @replace?.use?(null).replace(null)
             delete this[key] for key in SHARED
             delete manip
         this

        while (cb = el._browser.manip.callbacks.shift())?
            @animation.push(cb)

        ecb = el._browser.done.callback()
        pcb = prepare_deferred_done(parent).callback()
        if el is el.builder then ecb() else el.ready(ecb)
        if parent is parent.builder then pcb() else parent.ready(pcb)


        @insert      ?= new Callback
        @manip       ?= new CancelableCallbacks
        @done        ?= new DeferredCallbacks
        @initialized  = yes
        @manip.reset()
        this

