We've seen a realistic example of the multistage process characteristic of software development. At each stage, we added features and refined existing features, building on our prior work. As we developed the application, you may have identified features you'd like to add or other applications in which you can use similar techniques. This chapter introduced you to an approach that can serve you well in future software development, which is usually an iterative process. Think of it as an example of how to break down a large problem into smaller problems. Practice the techniques the chapter demonstrates, such as the ability to create components, reuse code, etc.