I'm not sure but I think there is a bug in getModuleClassName. this.name should be namespace.

Code:
    getModuleClassName: function(name, type) {
        var namespace = Ext.Loader.getPrefix(name);


        if (namespace.length > 0 && namespace !== name) {
            return name;
        }


        return this.name + '.' + type + '.' + name;  // IS THIS A BUG?
        // Shouldn't it be:   return namespace +'.' + type + '.' + name;
    },