Rework to use package versioning

Tracked down the issues here over a full day: turns out you need to pass
the versions explicitly into the extension packages too. D'oh.