И варианта тут как бы два теперь: унаследовать контейнер от коллекции или выделить функционал коллекции в трейт который потом применить как в контейнер, так и в классе коллекции.
Первый вариант туп потому что коллекция не является надмножеством контейнера и наследование делать не кошерно.
А второй вариант туп, потому что коллекция как самостоятельный класс все равно нужен, но так как весь её функционал будет реализован в трейте, то сам класс коллекции будет просто содержать его подключение (как я выше давал пример кода).