pushed trialPosition list creation to factory
extract board scoring and board calculation into focused classes