     namespace = parts[parts.length - 1]
     classpath = "app/views/#{path}"
 
-    require ['app/views/app_view', classpath], ( AppView, View )=>
-      unless (view = new View) instanceof View
-        msg = "#{classpath} is not a View instance - you probably forgot to "
-        msg += "extend thoricus/mvc/View"
-        console.error msg
+    if (ViewClass = require classpath) is null
+      console.error "View not found '#{classpath}'"
+      return fn null
 
-      # defaults to AppView if given view is not found
-      # (cant see any sense on this, will probably be removed later)
-      view = new AppView unless view?
+    unless (view = new ViewClass) instanceof View
+      msg = "#{classpath} is not a View instance, you probably forgot to "
+      msg += "extend thoricus/mvc/View"
+      console.error msg
+      return fn null
 
-      view._boot @the
-      view.classpath = classpath
-      view.classname = classname
-      view.namespace = namespace
+    # defaults to AppView if given view is not found
+    # (cant see any sense on this, will probably be removed later)
+    view = new AppView unless view?
 
-      fn view
+    view._boot @the
+    view.classpath = classpath
+    view.classname = classname
+    view.namespace = namespace
 
-    , (err)->
-      console.error 'View not found: ' + classpath
-      fn null
+    fn view
 
 
   ###*

      fn @controllers[ classpath ]
    else

      require [classpath], ( Controller )=>

        unless (controller = new Controller) instanceof Controller
          msg = "#{classpath} is not a Controller instance - you probably "
          msg += "forgot to extend thoricus/mvc/Controller"
          console.error msg

        controller.classpath = classpath
        controller.classname = classname
        controller._boot @the

        @controllers[ classpath ] = controller
        fn @controllers[ classpath ]

      , (err)->
        console.error 'Controller not found: ' + classpath
        fn null

  ###*
  Returns an AMD compiled template.

  ###
  @template=@::template=( path, fn )->
    # console.log "Factory.template( #{path} )"
    classpath = 'templates/' + path

    if (template = require classpath) is null
      console.error 'Template not found: ' + classpath
      return fn null
    
    fn template