new Promise -> new std_Promise.
Make metadata a property of the load object, to reduce the number of things we have to pass around.