It should be abstracted in such a way that we can switch a simple package manger by the p2p one and everything still works.