1. A computerized method for managing software packages on a computer comprising the steps of: acquiring a manifest file that describes a distribution unit for a software package; resolving software dependencies for the software package as specified by the manifest file; acquiring the distribution unit for the software package; extracting components in the software package from the distribution unit into a directory on the computer; causing the installation of the software package on the computer; and updating a code store data structure on the computer with information from the manifest file pertaining to the software package.