refactoring WorkoutSession, fixing null pointer exceptions when sets or exercises are empty