Package Modeling Language - Declarative way to create redistributable software packages