     _execute('server', tplName, path, format)
 
 
-  lookupTemplate = (componentName, el, ref, format, name)->
-    path = "#{ref}/#{name}"
-    tplName = [componentName, name.replace(/^_/, '')].join("/")
+  lookupTemplate = (options, name)->
+    path = "#{options.ref}/#{name}"
+    tplName = [options.componentName, name.replace(/^_/, '')].join("/")
 
-    tpl = applyDomStrategies tplName, el if module.domFind
+    tpl = applyDomStrategies tplName, options.rootEl if module.domFind
     tpl = applyAppStrategies tplName unless tpl
 
     module.define path, tpl if tpl
 
-    tpl = applyServerStrategies tplName, path, format unless tpl
+    tpl = applyServerStrategies tplName, path, options.templateFormat unless tpl
     tpl
 
   module =

      module.domFind = app.core.dom.find
      module.deferred = app.core.data.deferred
      app.core.template.load = (names=[], ref, el, format="hbs") ->
        names = [names] if _.isString(names)
        componentName = ref.replace('__component__$', '').split('@')[0]
        dfd = app.core.data.deferred()
        tpls = _.map names, _.bind(lookupTemplate, undefined, componentName, el, ref, format)
        app.core.data.when(tpls...).then ->
          dfd.resolve _.object(names, [].slice.apply(arguments))
        , (err)->

define ['underscore', 'lib/hullbase', 'handlebars'], (_, Hull, Handlebars) ->

  strategies =
    app: ['hullGlobal', 'meteor', 'sprockets', 'hullDefault']
    dom: ['inner', 'global']
    server: ['require']
