Object removal question

Hi,

I have question regarding removing instantiated objects. Let’s say i have a main class in which i instantiate a custom video player (or whatever) class:

...
var videoPlayer = new VideoPlayer(...);
addChild(videoPlayer);
...

And inside VideoPlayer class i have of course dozens of objects (movie clips, sprites representing different parts of VideoPlayer) and dozens of event listeners attached to them.

My question is, if i want to remove this VideoPlayer class from my main class is it enough to just do:

removeChild(videoPlayer);
videoPlayer = null;

Or should i make sure first to destroy the same way all the objects inside VideoPlayer class before doing this removal in main class. What is the best practice here regarding memory performance?

From my experience, if i don’t destroy for example event listeners from my VideoPlayer class and just remove VideoPlayer class the way described they still get fired with null exception messages etc. This is something that’s bugging me for a while so i would really like to know what’s best thing to do here?

Thanks in advance,
Best regards