Another challenge here is the App. prefix: the component requires that App = Ember.Application.create() has been called before the component is loaded. This suggests to me that we need a registerComponent() method, maybe something like:
var EmFooComponent = Em.Component.extend();
Ember.Application.initializer({
name: "em-foo-component",
initialize: function(container, application) {
container.registerComponent('em-foo', EmFooComponent);
}
});
I suggest that this would add component:em-foo to the resolver, and {{em-foo}} would work in the same way as App.EmFooComponent.