Refactoring...
Continued refactoring, introducing some singleton patterns in the creation of factories
Refactoring in order to make the SQL implementation and associated DataSource replaceable.