Connection Profiles then are simply a property cache with an applied template

Other thoughts

Exported profiles would contain references to the template used to create them that could be used to re-create the template if necessary upon import.

The Driver Management preference page becomes a Driver Template Management preference page where users can see available system and user-created driver templates. Users can clone an existing template, delete a user-created template, edit a user-created template, and so on.

The benefit of killing driver instances is that an exported connection profile is complete without one.

The bad side is that we can no longer share a driver instance to get things like the jar list from.

We can work around that by having listeners for driver template updates and prompt the user if an update happens (or do it silently behind the scenes). If the user wants the changes, the appropriate fields could be updated in affected connection profiles.

We should also possibly provide a "validation" action that would allow the user to see if their connection profile properties were up to date (perhaps store something like a "last update" date stamp for both connection profiles and driver templates) and prompt the user to see if they want their connection profiles updated accordingly if discrepancies (driver templates & connection profiles out of sync) exist.