BIRCH as a software layer
From Bioinformatics.Org Wiki
It may be useful to think of BIRCH as a software layer that hides the implementation of whether a package is intrinsic to BIRCH, or locally installed or a remote web service.
To a large extent, this is already part of the design of BIRCH. However, it might be useful to formalize this as an architecture. Perhaps there could be a database that keeps track of where packages are installed and maybe scripts that automate the process of creating the appropriate symbolic links in bin and lib directories so that BIRCH can always find the files it needs to run a program. This might make it easier to use packages installed, say, but apt-get or yum, or simply locate locally-installed programs in a consistant fashion. It does mean that even where a program is a simple binary with a single man page, you still need to create a package to hold the metadata associated with those files.