Cached Device
class CachedDevice<T : IDevice<T, R>, R : Region<T, R>>(val device: IDevice<T, R>) : IDevice<CachedDevice<T, R>, CachedRegion<T, R>>
Cached device, this variant of device is just used to wrap the device of a CachedRegion, getting the list of screens will return an empty list.