- cleanup code
- add factory
- refactor factory.create_competitor to take parameters