- templated buffer classes allow the buffer systems to work with custom buffers, e.g. buffers of GPU memory