Let derived classes extend the default upgrade behaviour
Merge pull request #2 from Triple-T/provider_upgrade

Let derived classes extend the default upgrade behaviour