Split the Buffer api out to walters_buffer.cpp