Извлекать опыт из ошибок, допущенных по неопытности и незнанию - одно, специально делать ошибки, чтобы на них учиться....ну странно )
Вов, если говорить конкретно про данную ситуацию, это не ошибка, а просто не самое удачное решение с точки зрения ООП, но если копнуть любую игру, там таких нарушений воз и маленькая тележка. Я думаю, что вопрос в том как это влияет на разработку, если ты знаешь, что это решение вполне подойдёт проекту, то делаешь и не тратишь своё время на излишнее усложнение архитектуры. Если ты захардкодил в павне, а потом оказалось, что с этим потом постоянно проблемы, то впредь будешь знать )