We created lots of different additions for concrete5 in the previous chapters. The page layout has changed, as well as the block layout, and we even created a completely new functionality from scratch.
While we were able to create and improve a lot of different things in concrete5 without touching the actual core files in the concrete directory, we might have had to manually install several elements to get our functionality into a new site. By using a package, we can wrap all the previously created elements into a single directory, which can be installed by a single click on the dashboard.