support array of deferrers on 'when' & simplify dependency tree