   display:(o = @getOptions())->
 
     # converts NESW-Values to topbottomleftright and retains them in @getOptions
+    KDView.appendToDOMBody this
+    @getSingleton("windowController").addLayer this
     o = @translateCompassDirections o if o.gravity
     o.gravity = null
 
     @setClass 'in' if o.animate
-    @show()
-    @visible = yes
-    KD.getSingleton('windowController').disableScroll()
-    @setPosition o
+    @utils.defer => @setPosition o
 
   getCorrectPositionCoordinates:(o={},positionValues,callback=noop)->
     # values that can/will be used in all the submethods

    else
      @wrapper.updatePartial Encoder.htmlEncode title

  viewAppended:->
    super()
    o = @getOptions()

    if o.view?
      @setView o.view
    else
      @setClass 'just-text'
      @setTitle o.title, o

    # @setTemplate @pistachio()
    # @template.update()

    @parentView.emit 'TooltipReady'

    @addSubView @arrow
    @addSubView @wrapper


  # pistachio:->
  #   """
  #    {{> @arrow}}
  #    {{> @wrapper}}
  #   """

  directionMap = (placement, gravity)->
    if placement in ["top", "bottom"]
      if /e/.test gravity then "left"


  getView:-> @childView

  destroy:->

    @parentView.tooltip = null
    delete @parentView.tooltip
    super

  translateCompassDirections:(o)->

    {placement,gravity} = o
