Re-introducing abstracting out of the version dependencies

...ng out of the dependency versions, re-introducing the separate dependency-versions file to keep track of all version dependencies.