Using jQuery Deferred To Create Compound Objects From Multiple Asynchronous Data Sources