Añadir UIViewController en cocos2d

Quiero mostrar un UIViewController en un proyecto cocos2d, así que tengo que hacer esto en mi clase CCLayer:

-(void)displayMainMenu {
    CGSize screenSize = [CCDirector sharedDirector].winSize;
    [CCMenuItemFont setFontName:@"Marker Felt"];
    [CCMenuItemFont setFontSize:26];

    CCMenuItemFont *openViewC = [CCMenuItemFont itemWithString:@"Open View" target:self selector:@selector(loadMyViewController)];
    mainMenu = [CCMenu menuWithItems:openViewC, nil];
    [self addChild:mainMenu z:0];
}

-(void) loadMyViewController{

    //Add the tableview when the transition is done
    myView = [[MyViewController alloc] init];
    UIView *viewHost = hostView.view;

    [[[CCDirector sharedDirector] view] addSubview:viewHost];
}

y luego en mi ViewController para volver a mi CCLayer hago esto:

- (IBAction)exitAction:(id)sender
    {
    [self.view removeFromSuperview];

    [[CCDirector sharedDirector] pushScene: [MainMenu scene]]; //i need it or not?
}

y todo trabajo, uso cocos2d v2.0, pero quiero saber si hay una mejor manera de agregar un UIViewController en una escena cocos2d, ¡gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta