Правильное взаимодействие компонентов в MVC и синхронизация корзины
Всем здравствуйте. Пишу кастомную cms. Корзина обрабатывается двумя разными моделями в зависимости от того залогинен пользователь или нет: если залогинен, то корзина пишется в БД, если не залогинен то в сессии. При логировании пользователя необходимо перевести корзину из сессии в БД. Я написал для этого отдельный класс, инициализация и вызов методов которого вызывается из ЮзерКонтроллера (при логировании). Вопрос такой: если написанный мною класс синхронизации корзин является моделью, то может ли он вызывать методы моделей БдКорзины и СессииКорзины? Насколько я знаю это противоречит базовой концепции MVC, а хочется сделать все более менее аккуратно и правильно. Думал написать отдельный класс, и не модель и не контроллер, но как-то мне кажется тоже неправильно. Проконсультируйте, пожалуйста, предложите варианты решения, которые мне пока не видны, из-за малого количества опыта.