Связанность моделей в MVC
Пытаюсь окончательно разобраться в паттерне Model-View-Controller. Очевидно, всю бизнес-логику лучше размещать в моделях, чтобы избежать «толстых тупых уродливых контроллеров». Но как быть с методами, которые одновременно касаются множества моделей?
Скажем, оформление заказа может затронуть модели заказа, товаров, пользователя, доставки, скидок. Если мы решили размещать бизнес-логику в моделях, где будет храниться метод оформления заказа и как при этом правильно работать со связанными моделями? Передавать их объекты в качестве аргументов?
Или функционал, связанный со множеством моделей, выносить в отдельный класс? Если так, в какое место в структуре приложения его поместить, чтобы не нарушать принципы MVC?
Помогите разобраться.