Really tiny version of Q's defer promises