     else
       @_openTooltip() if @model.hovered()
 
+  _hoverintent: ($element, property)->
+    @_$tooltip.hoverIntent
+      timeout: @_closingtimeout
+      over: => @model.set property, true
+      out:  => @model.set property, false
 


  _openTooltip: ->
    @_$tooltip = @options.makeTooltip @options.$container, @$target
    @_$tooltip.hoverIntent
      timeout: @_closingtimeout
      over: => @model.set inTooltip: true
      out:  => @model.set inTooltip: false

  _removeTooltip: ->
    @options.removeTooltip @options.$container, @$target, @_$tooltip


  render: ->
    @$target = @options.$container.find(@options.selector)
    @_hoverintent @$target, 'inTarget'

  onClose: ->
    @_removeTooltip()
