 
 # Missing features:
 # - support for browsers without history & onhashchange -> disable
-# - querystring parameters as part of params
 # - copy build configs from bacon.js
 # - split to own repository
 # - more complete sinatra path parsing, JavascriptRouteParser
 # - test suite
 # - documentation
-# Planned features
+# Possible features
+# - querystring parameters as part of params
 # - form support, catch form submits (how would this work?) get / post?
 # - chrome fails when converting plain url to hashbang url: %23
 # - clarify when fallbackRoute is used

      if @pushStateSupport
        history.pushState({ }, document.title, href)
      else
        window.location.hash = "!" + href

  addListener: (element, event, fn) =>
    if element.addEventListener  # W3C DOM

      if window.location.hash.substring(0, 2) == "#!" && @find(window.location.hash.substring(2))
        forceUrlUpdate = initialUrl = window.location.hash.substring(2)
    else
      if @hashchangeSupport
        if window.location.hash == "" && @find(initialUrl)
          if @hashBaseUrl && @hashBaseUrl != initialUrl
            window.location.pathname = @hashBaseUrl + "#!" + initialUrl
          else
            window.location.hash = "!" + initialUrl
        if window.location.hash.substring(0, 2) == "#!"
          initialUrl = window.location.hash.substring(2)
    @renderUrl(initialUrl)
    if forceUrlUpdate
      @updateUrl(forceUrlUpdate)
