reduce dependencies between core.buffer, core.memory and hardware.vfio; now it's hardware.bus which ties everything up