     options.navItem      or= {}           # <Object{title: string, eventName: string, shortcut: string}>
     options.labels       or= []           # <Array<string>> list of labels to use as app name
     options.version       ?= "1.0"        # <string> version
-    options.route        or= {}           # <string> or <Object{slug: string, handler: function}>
-
-    registerRoute = (route)=>
+    options.route        or= null         # <string> or <Object{slug: string, handler: function}>
+    options.routes       or= null         # <string> or <Object{slug: string, handler: function}>
+
+    registerRoute = (route, handler)=>
       slug        = if "string" is typeof route then route else route.slug
       route       =
         slug      : slug or '/'
-        handler   : route.handler or null
+        handler   : handler or route.handler or null
+
 
       if route.slug isnt '/'
 
         {slug, handler} = route
-
         cb = (router)->
           handler or= ({params:{name}, query})->
             router.openSection options.name, name, query

        then @utils.defer -> cb KD.getSingleton('router')
        else KodingRouter.on 'RouterReady', cb

    options.route = [options.route]  unless Array.isArray options.route
    registerRoute route for route in options.route

    if options.navItem?.order
      @registerNavItem options.navItem

      writable      : no
      value         : { fn, options }

  registerNavItem    : (itemData)-> @navItems.push itemData

  getNavItems        : -> @navItems.sort (a, b)-> a.order - b.order

  setNavItems        : (navItems)-> @navItems = navItems.sort (a, b)-> a.order - b.order

  unregisterAppClass :(name)-> delete KD.appClasses[name]

  getAppClass        :(name)-> KD.appClasses[name]?.fn or null

  getAppOptions      :(name)-> KD.appClasses[name]?.options or null

  getAppScript       :(name)-> @appScripts[name] or null

  registerAppScript  :(name, script)-> @appScripts[name] = script

  unregisterAppScript:(name)-> delete @appScripts[name]

  resetAppScripts    :-> @appScripts = {}

