use stop callback instead of done callback to wait for processing