This chapter has given us the power to create reusable components that can communicate with one another. We've looked at how we can register components globally throughout the project, or locally to a specific instance, giving us flexibility and appropriate separation of concerns. We've seen just how powerful this can be with examples that range from the addition of simple properties to complex validations and defaults.
In the next chapter, we're going to be investigating how we can create better UI. We'll be looking more at directives such as v-model in the context of forms, animations, and validation.