run vs play
put callbacks into a common bag