Summary
In this chapter, you learned to prepare your simple script for some serious expansion. You learned how to divide your application's areas of responsibility into separate components using the model-view-controller model. You reimplemented the ABQ application as a Python package, splitting the code into multiple modules to further enforce separation of concerns and provide an organized framework for later expansion. Finally, you set up a Git repository for your code so that you can track all your changes with version control.
In the next chapter, we're going to put the convenience of our new project layout to the test by implementing file opening and saving, informational popups, and a main menu. You'll also learn how to provide configurable settings for your application and save them to disk.