In simple apps, the props and events will be all you need. Middle-range apps will require more flexible ways of communication, such as event bus and dependency injection. For complex, large-scale apps, you will definitely need the power of Vuex as a full-featured state management system.