Tournament module

I have implemented a first version of the tournament module. Any comments on the code so far?
Dependency inject the factory instead