Add more documentation.
Refactor Buffers and Buffer to know less.
Fix missing assertion.