Modularity and the system-upgrade path