[DataSource] Making class autoloading a lazy-loaded event so that composer dependencies don't flare up. Also cleaned up and simplified the DataSourceFactory.