jQuery.newClass = function (path, aClassDescriptor) {
    jQuery.classes = !jQuery.classes ? {} : jQuery.classes;
    var context = {
        start:      jQuery.classes,
        current:    void(0)};
    path = path.split('.');
    var className = path.pop();
    path.forEach(function (element) {
        this.current = $tools.coalesce(this.current, this.start);
        this.current = this.current[element] = {};
    }, context);
    aClassDescriptor = jQuery.extend({
        init:       function () {},
        statics:    {},
        methods:    {}
    }, aClassDescriptor);
    context.current[className] = aClassDescriptor.init;
    for (p in aClassDescriptor.statics) {
        context.current[className][p] = aClassDescriptor.statics[p];
    };
    for (p in aClassDescriptor.methods) {
        context.current[className].prototype[p] = aClassDescriptor.methods[p];
    };
};
