Как по мне, то паттерн Состояние для описания сущности Tournament не подходит. Во-первых, сущность большая, а состояние - лишь малая чсть логики этого большого куска. Во-вторых, непрозрачная обязанность. Tournament может всё - добавлять команды, начинаться, заканчиваться, восстанавливаться, менять количество команд. Даже резделив эту гору обязанностей по разным Tournament-ам в разных стостояних - эта проблема не решается. Предложил бы посмотреть в сторону Mediator или хотя бы разобрать логику на более мелкие части