The best practice to share data among different derived types?

Maybe this thread can be of interest to you