Upgrade: pass more arguments to the various methods.

Third party code may require more control.