Best practices for sharing assets between fla files?

I’ve been doing this for a while and I never really feel like I’ve found a great answer to this. Maybe there isn’t one but if there is I’d like to find out. Basically I work with a lot of large flash projects that are comprised of at least 50+ fla files. There are a lot of assets that are the same in a lot of these files like icons and windows. Now my problem is, if I want to make a change to one of these assets what is the best way to have it update through all the other files.

The current way I’m doing it is I have a master fla file that holds all my graphic elements in it and when I need those elements in another fla file I’ll drag them from the master library to the new one and set that element to update whenever an fla is published. This method seemed great at first but eventually became problematic. I would end up with a bunch of duplicate items in my fla and things like that.

Anyone think they have a good solution to this or is it just one of those things you have to live with?