It all depends on your game play, but in the end, you most likely want to have something "scriptable", meaning you'd write "generic" classes, then load some form of mission file and set everything up as the "script" says. That way it's a lot easier to create new missions and you won't be hard coding everything into your game.
Of course getting this generality isn't the most easiest task either, but if you get it right, it most likely will make your life a lot easier.