Implement a Vue.js application that uses Vuex to manage state across multiple components. The application should include at least three components that interact with the state managed by Vuex. Use CSS to style the components and make the application visually appealing. The state should include both primitive data types and objects. Use actions and mutations to modify the state and update the components accordingly. Ensure code quality by using best practices such as modularizing the code, properly naming variables and functions, and commenting the code where necessary.
This prompt doesn't seem malicious.