My opinion is that you should just start making your game and implement what you're comfortable with. As you do that you'll find yourself using MVC some places, but not others; events some places, but not others; components some places, but inheritance others; clean design some places, and crufty design others.
And that's OK, because when you're done you'll actually have a game, and a game is way cooler than a message-passing system.