Interim commit.
Interim commit

Introduce some of the competition model and user subscription handling.