Added an interface to help track usabilty and an abstract class to
create a betterway to control dataflow from IP to DB