мне вполне нравится вариант с одной вьюшкой. перейду к коду. предположим мы нажали кнопку Play, удалилось менюшка и задиспатчился кастомный ивент о начале нового уровня, который я слушаю в контроллере:

Код AS3:
dispatcher.addEventListener(GameEvent.PROCESS_NEXT_LEVEL, onProcessNextLevel);
обрабатываю его так:

Код AS3:
private function onProcessNextLevel(e : GameEvent) : void {
view.createGameLevel(model.currentLevel);
model.increaseCurrentLevel();
}
как видно я передаю во вьюшку номер левела и сразу увеличиваю номер следующего уровня. во вьюшке я, зная какой номер уровня, подгружаю соответствующую графику.
И вот, что мне не нравится, так это то, что во вьюшке мне приходится делать так:

Код AS3:
switch(levelsNum) {
case 1:
// for example
createSquares();
createCircles();
break;
case 2:
createTriangles();
createPyramids();
break;
и если у меня уровней двадцать, то что мне, лупить столько кейсов? а ведь еще логика вьюшки, а мне ведь еще надо чистить левел перед созданием нового. я уверен, что как-то это можно сделать грамотно, без нагромождения кода. подскажите, пожалуйста, у кого больше опыта, как именно это организовать