Revert "Revert "Refactored Sheet to be more flexible""

This reverts commit f12d9c1e2d1d9d550f58a082845a16eac5f3d6b9.