1 TODOs:
2 - Ensure validation checks are solid
3 - Add tests of validation logic
4 - Optimize Buffer classes?
5 - Make "Clone" method public?
6 - Add compile-time asserts to verify object packing and padding.
7 - Investigate making arrays of objects not be arrays of pointers.
8