Why attach promise to this object?