moved knowledge of sprint activity into sprint
removed some duplication and cleared up the callbacks