synchronize start and finish
pass results to finish callback on each