         (classNames[key] = "#{pre}#{key}") for key in keys
         classNames.tip = 'js-tip'
         classNames
+      # - `animations` are very configurable. Individual animations can be
+      #   customized and will default to the base animation settings as needed.
+      animations:
+        base:
+          delay: 0
+          duration: 200
+          easing: 'ease-in-out'
+          enabled: yes
+        show:
+          delay: 200
+        hide:
+          delay: 200
+        resize:
+          delay: 300
 
   hlf.tip.snap =
     debug: off

      @debugLog 'update direction class', compoundDirection
      $content = @selectByClass 'content'
      $content.text $trigger.data @attr('content')
      if @shouldAnimate.resize
        contentSize = @sizeForTrigger $trigger, (contentOnly = yes)
        $content
          .width contentSize.width

      if event? then @debugLog event.type
      # Don't toggle if awake or waking, or if event isn't `truemouseenter`.
      return no if @_state in ['awake', 'waking']
      # Get delay and initial duration.
      delay = @animations.show.delay
      duration = @animations.show.duration
      # Our `wake` subroutine runs the timed-out logic, which includes the fade
      # transition. The latter is also affected by `safeToggle`. The `onShow`
      # and `afterShow` hook methods are also run.
