A package for outer-package communications
The below code would be cleaner with object literal notation :

    // a basic registry pattern with get/set and getMany/setMany
    $P.Reg = (function () {
        var publik = {},
            register = {};
        publik.get = function (key) {
            return register[key];
        };
        publik.set = function (key, value) {
            register[key] = value;
        };
        publik.setMany = function (o) {
            $A.someKey(o, function (val, key) {
                register[key] = val;
            });
        };
        publik.getMany = function () {
            return register;
        };
        return publik;
    }());


would be

    // a basic registry pattern with get/set and getMany/setMany
    $P.Reg = (function () {
        var register = {};
        return {
            get : function (key) {
                return register[key];
            },
            set : function (key, value) {
                register[key] = value;
            },
            setMany : function (o) {
                $A.someKey(o, function (val, key) {
                    register[key] = val;
                });
            },
            getMany : function () {
                return register;
            }
        };
    }());


I also note that


getMany is wrongly named, getAll perhaps ?
not sure what someKey does, is it any different from for( var key in o) ?