Refactor to use config instead of tagged services

Instead of having a default set of drivers already loaded, drivers can be cherry picked and even overloaded using `->drivers(['somedriver])`