Мне кажется, вы выбрали не тот паттерн как основной

MVC тут бы очень кстати подошел. К сожалению, я никогда не делал игры, поэтому подсказать, как лучше устроить структуру классов, вам не в силах. А тыкать пальцем в небо, сами понимаете...
Но фабрика - это древовидная структура и есть. Перекрестные ссылки начисто убивают всю прелесть этого паттерна.