Split SheetDescriptor out into it's own class