Current implementation of RHI::Buffer and RHI::Texture classes incapsulates staging buffer functionality required for transferring data from CPU to GPU on NUMA systems. It would be more flexible to split this functionality to so called RHI::StagingBuffer used specifically as an intermediate CPU & GPU accessible data storage used for transferring data to GPU dedicated resources, like RHI::Buffer and RHI::Texture. RHI::StagingBuffer should be derived from RHI::Buffer and extend it with logic for storing intermediate data of multiple GPU resources intended for initialization using RHI::TransferCommandList.