컴포넌트 간 통신, 다들 어떻게 하시나요?

컴포넌트 간 통신, 다들 어떻게 하시나요?
컴포넌트가 아주 많고 뎁스도 3~4 뎁스, 또한 부모 자식의 관계도 아닐 경우 말이죠.

일부는 v-model을 쓰다가 일부는 vuex를 쓰게 되는 상황이 매우 불편하네요. 일관성을 유지하고 싶은데…
명쾌한 답이 없을까요?

Controller 개념이 좋지 않을까 하네요.
특정 라우팅 주소에 관련 함수들을 모아두어 쓰면 되지 않을까요?
컨트롤러 기반으로 모아서 짜다보면 나중에 공통된 로직도 보이고 관리도 용이하다고 봅니다.