Refactored ScoreUpdate to clean up ScoreImpl.update()