initial attempt for abstraction; druid works with Derby as default

i think u can create impls here and extending classes can override if need be