Need advice on best practices for a text adventure game I am developing

Hello everyone,
I’ve recently started development on my first large-scale Flash project, a text-based adventure/RPG, and I need some advice from those more experienced than I. I’ve done a few smaller projects before, so I know my way around AS3 and I know the basics of OOP, but I’m having some trouble wrapping my head around how to implement what will be the core functionality of this game, namely, displaying the actual text.

I have a class, Character, that will of course house the stats and abilities of each character. As I want to keep the scenes and the game’s core separate, I decided to make each “chapter” its own class with methods to house different branches, but now my problem is how to get the scene classes to “see” the character instances. I’ve thought of two approaches here, but I’m looking for advice or alternatives, if there are any.

[LIST=1]
[]Instantiate the Scene when needed and pass the characters to the constructor. Since there will be loads and loads of characters, I would likely want to store them together in an object housed at the document class, that way I would only need to pass one argument and be able to access them through AS3’s “associative array”-esque notation.
[
]Create a separate class and store all the characters as individual static vars which I could import into each scene class for easy access. I’m wary of the pitfalls of using global variables as a crutch, however. Since it’s unlikely I’ll ever need more than ONE instance of any particular character, I can see how I could get away with this, but again, I’m wary of relying on global variables.
[/LIST]

Option two is understandably tempting, but I already know that global variables can be a bit of a slippery slope. What I’m wondering is when they’re appropriate and whether this case might be an exceptional one. If you have any thoughts, advice or suggestions on alternative solutions, I’d be glad to hear it.

Thanks,
Wedge