change defer context
add defer.all / defer.chain option to run with list of promises
format