Bei mir sind Container immer z.B. so aufgebaut:
Delphi-Quellcode:
type
TTemperaturList=class(TObject)
private
Liste: TObjectList;
...
public
constructor Create;
destructor Destroy; override;
Von aussen hin kann ich dann gezielt nur die von meiner Klasse definierten Funktionen und Prozeduren aufrufen. Dass innen eine TObjectList oder etwas anderes enthalten ist, soll der Client nicht sehen können.