Add ReadBuffer function to Driver base class. And refactor acordingly.