New class BufferArea is used to hide complexity of buffers allocations and allow instrumentation with valgrind and sanitizers.