              .replace(/\*/g, '(.+)');
   return new RegExp('^' + path + '$', 'i');
 
+
+getHelper = (url) ->
+  helperClassName = url.replace /^[a-zA-Z]|\/[a-zA-Z]/g, (x) -> x.toUpperCase()
+  helperClassName = helperClassName.replace(/\//g, "")+ "Helper"
+  return window[helperClassName]
+
 routes = {}
 routeMethods = ["get", "post", "put", "delete"]
 

    matches = url.match obj.regex

    if matches
      merge params, zipObject(obj.keys, matches.slice(1))

      stopRoute = false
      _.each obj.filters.before, (filter) ->
        if !stopRoute && filter(params) == false
          stopRoute = true
      if stopRoute
        return
      
      obj.callback params

      _.each obj.filters.after, (filter) ->
        filter(params)

      if push
        window.history.pushState { method: method, params: params }, "", url
      return

registerRoute = (method, route, filters, callback) ->

merge = _.extend

# from: https://github.com/senchalabs/connect/blob/master/lib/middleware/router.js

normalizePath = (path, keys) ->

