function queryPartners(promise){
    /* Query Partners */
    ... // The code for however we are querying and returning the data.

    /* Query is complete, resolve promise */
    promise.resolve();
    return promise;
}
function queryUsers(promise){
    /* Query Users*/
    ... // The code for however we are querying and returning the data.

    /* Query is complete, resolve promise */
    promise.resolve();
    return promise;
}
function processInfo(promise){
    /* Process Data */
    ... // The code for however we are processing the info.

    /* Processing is complete, resolve promise */
    promise.resolve();
    return promise;
}


// TO ONE

function getInfo(){
    /* Initialize Deferred Promises for each function */
    var a = $.Deferred();
    var b = $.Deferred();
    var c = $.Deferred();

    /* Query Partners, supply the promise (a) */
    a = queryPartners(a);
    /* Query Users, supply the promise (b) */
    b = queryUsers(b);

    /* .when() both queries are .done(), run processInfo() */
    $.when(a,b).done(function(){
        /* Process Info from Users, supply promise */
        c = processInfo(c);
    });

    return c;
}