Created ISheetIO abstract class derivates

This is something that needs reviewed.  SheetIO is both the interface and factory for the class.