         throw "Action must be a Function" if Object.prototype.toString.call(f) isnt '[object Function]'
         f
 
+      is_custom_event = (str) ->
+        str.indexOf(":") != -1
+
+      #TODO: custom event support
       for url, action of routes when url.indexOf("#") != 0 && url.toString() != "404"
         do (url, action) =>
+          if is_custom_event(url)
+            throw "Not supported event type for #{url}"
+
           z = url.match(/^([a-zA-Z]+)\s+(.*)/)
           event_name = z[1]
           selector = z[2]


class RoutePart
  constructor: (route) ->
    @end   = yes

        if !result
          (if routes['404'] then a2f(routes['404']) else empty)(current)

  #@note not implemented
  log: false
  #adapter for application @see adapter documentation
  adapter: null
  #boolean
  running: false
  #route object
  route: {}
  run: (options = {}) ->
    @running = true
