Introduce Q.defer method