consider refactoring **MemoryBuffer** methods (like **put** and **putList**) to accept **Memory** instead of **MemoryObject**