Now extensively using Q.all()