Container abstract class