Just another implementation of Q promises.