ConnectionHandler class, split out of the SocketMonitor.java file as its a separate class
refactor TinygDriver into an interface. add AbstractTinygDriver that contains all the implementation that was in the TinygDriver class. Add TinygDriverFactory to create an opject that is implements TinygDriver
Encapsulate all the variables in TinygDriver.
refactor TinygDriver into interface, abstract and factory.
Reflect in all the classes that use it.