Следующий шаг в любом приложении — подключение «каких-нибудь» живых данных. И их всегда неохота таскать из контроллера в контроллер — поэтому данные отделяем, называем объект сервисом и вперед. Главное — сервис не нужно создавать каждый раз по-новой, а загружать штатными методами
Просто набор данных -> сервис
Обернем наш класс «набора» товаров в промис и подключим к контроллеру (для этого важно Injectable декоратор использовать, мелочь — но не забудьте)
Было
Стало
Контроллер с сервисом
Что нам это дало в результате в контроллере: отказ от создания конкретного объекта, использование ленивой загрузки (после инициализации), и общие данные через сервис (ради чего все и затевалось)