couple of minor changes.
refactor the connection factory code to be more specific to each
provider and allow much greater control over the creation of the factory
as a result.