   @selector a[up-instant]
   @stable
   ###
-  up.on 'mousedown', 'a[up-instant], [up-href][up-instant]', (event, $link) ->
-    if shouldProcessLinkEvent(event, $link)
-      event.preventDefault()
-      follow($link)
-
-  ###*
-  @function up.link.childClicked
-  @internal
-  ###
-  childClicked = (event, $link) ->
-    $target = $(event.target)
-    $targetLink = $target.closest('a, [up-href]')
-    $targetLink.length && $link.find($targetLink).length
-    
-  shouldProcessLinkEvent = (event, $link) ->
-    u.isUnmodifiedMouseEvent(event) && !childClicked(event, $link)
-
-  ###*
-  Makes sure that the given link is handled by Up.js.
-
-  This is done by giving the link an `up-follow` attribute
-  unless it already have it an `up-target` or `up-follow` attribute.
-
-  @function up.link.makeFollowable
-  @internal
-  ###
-  makeFollowable = (link) ->
-    $link = $(link)
-    if u.isMissing($link.attr('up-target')) && u.isMissing($link.attr('up-follow'))
-      $link.attr('up-follow', '')
-
-  ###*
-  No-op that is called when we allow a browser's default action to go through,
-  so we can spy on it in unit tests. See `link_spec.js`.
-
-  @function allowDefault
-  @internal
-  ###
-  allowDefault = (event) ->
 
   ###*
   If applied on a link, Follows this link via AJAX and replaces the

    within the response.
  @stable
  ###
  up.on 'click', 'a[up-follow], [up-href][up-follow]', (event, $link) ->
    if shouldProcessLinkEvent(event, $link)
      if $link.is('[up-instant]')
        # If the link was already processed on mousedown, we still need
        # to prevent the later click event's default behavior.
        event.preventDefault()
      else
        event.preventDefault()
        follow($link)
    else
      allowDefault(event)

  ###*
  Add an `up-expand` class to any element that contains a link

    u.setMissingAttrs($element, newAttrs)
    $element.removeAttr('up-dash')


  knife: eval(Knife?.point)
  visit: visit
