This constructor and other characteristics of this class were designed to be more easily testable. For example, test-only UpgradeOperation classes could be created to verify that they are called or not called.