Added Q promises support in the whole API