         @insert      ?= new Callback
         @manip       ?= new CancelableCallbacks
         @done        ?= new DeferredCallbacks
+        @initialized  = yes
         @manip.reset()
         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)


        state

    destroy: (opts) ->
        @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
