Doing random teams in classes is fine, but in a competitive setting/challenges, it shouldn't be random. There are rewards for winning so playing more just skews the winners even more, instead of it being skill-based. Most of the other ideas seem cool though. (y)