#3 - Expanding on the upgrade-as-part-of-build-order implementation.  Refactoring variable names and method signatures for consistency.