       return
 
     link = el.getAttribute 'href'
-    if el.pathname is @_the.location.pathname and (el?.hash or link is '#')
+    if el.pathname is Nav._the.location.pathname and (el?.hash or link is '#')
       return
 
     if link?.indexOf('mailto:') > -1 then return
 
     if el?.target then return
 
-    if el?.origin? and el.origin isnt @_origin() then return
-    if el?.href?.indexOf(@_origin()) isnt 0 then return
-
-    path = @_elementPath el
+    if el?.origin? and el.origin isnt Nav._origin() then return
+    if el?.href?.indexOf(Nav._origin()) isnt 0 then return
+
+    path = Nav._elementPath el
 
     event.preventDefault()
 
-    if path is @location then return # if new path is same as old path...
-
-    @_newState path
+    if path is Nav.location then return # if new path is same as old path...
+
+    Nav._newState path
 
     return
 

    @_decode = unless options?.decode then ((v)->v) else @_decodeThis

    unless options?.click is false # TODO: clicks element selector?
      @__handleClick ?= @_handleClick.bind Nav
      document.addEventListener @_clickType(), @__handleClick, false

    unless options?.popstate is false
      @__handlePopstate ?= @_handlePopstate.bind Nav
      window.addEventListener 'popstate', @__handlePopstate, false

    if options?.hashbang is true then @_setHashbangEnabled true


  _handleClick: (event) ->

    # return if not a simple click or it's already prevented.
    if Nav._which event isnt 1 or
      event?.metaKey? or event?.ctrlKey? or event?.shiftKey? or
      event.defaultPrevented
        return
