I agree with general concept, not so sure about details... I think it should be a bit more like Oblivion's suggestion. That is, keep basic structure unchanged and add another level of metainformation to download dependencies.
Also, being there, it would be nice to have some sort of "distributed protocol" to have a list of downloadable "remotes" in theide.
Either way, I am adding this to a long list of things I am thinking about