Brucee did the implementation of dynamically loaded drivers. I'm just tidying up a bit and making it more generic.