Hierarchy question

I am a math teacher and I do small applications to use in education. Most of them give the user a problem, the users solves the problem and gets the next problem.

I am fighting the battle of going from AS2 to AS3. One of my hugest problems as the parent-child-way of thinking. I tried to avoid it by putting everyting on the main timeline. It worked fine for the first problem, but when I try to remove it to make room for the next one I am in the wrong function/the wrong level or whatever.

Should I do:

addChild(problem);

In “problem” (which is a movie clip) happens all the presenting of the problem and solving and checking it.

On the parent level I listen for this problem to be finished and then I simply do
removeChild(problem);
on the parent-level and loop all over again presenting the next problem.

Is this the right way to go?

If it is, then I’m getting to the next question:
I often have several different types of problems in the same application. They all use some general help-functions like shuffling an array, giving a random number within given limits and the like.

Is there any place I can put all those general functions so that all the “problem1”, “problem2”, etc can access them? In a movie clip that is loaded into the problem movie clip?

There are lots of websites and books about the syntax adn the technical stuff, but not so many that teach you about this way of thinking. Can anyone recommend a certain book or website?