Just use a Q.js promise. Breeze depends on Q.js and all of the queries return a promise. Handle the then
event by loading up your stuff after metadata is finished.
manager.fetchMetadata().then(function () { console.log('Finished, do something else'); });