         while (cb = el._browser.manip.callbacks.shift())?
             @animation.push(cb)
 
+        prepare_deferred_done(parent) # init parent browserState
+        if not el.parent._browser.initialized and parent.parent?
+            @onadd(parent.parent, parent)
+
         ecb = el._browser.done.callback()
-        pcb = prepare_deferred_done(parent).callback()
+        pcb = parent._browser.done.callback()
         if el is el.builder then ecb() else el.ready(ecb)
         if parent is parent.builder then pcb() else parent.ready(pcb)
 

        state

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

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

