how can i use `embedded-hal-bus` to use an (async) I2C bus for two devices where i have both in a `postcard-rpc` `Context` (i.e. a static `struct`)? if i do this (abbreviated and with just one I2C device so far): ```rust use embedded_hal_bus::i2c::RefCellDevice as I2cRefCellDevice; pub struct Context { pub some_sensor: SomeSensor>>, /// The I2C bus used by the connected devices. pub _i2c: RefCell>, } #[embassy_executor::main] async fn main(spawner: Spawner) { // ... let i2c = i2c::I2c::new_blocking(p.I2C0, p.PIN_1, p.PIN_0, i2c::Config::default()); let i2c = RefCell::new(i2c); let some_sensor = SomeSensor::new(I2cRefCellDevice::new(&i2c)); let context = Context { some_sensor, _i2c: i2c, }; // ... prpc setup ... let dispatcher = SomeApp::new(context, spawner.into()); // ... ``` then i get this error: ``` error[E0505]: cannot move out of `i2c` because it is borrowed ``` but if i _don't_ pass it to `Context` then i get this error: ``` error[E0597]: `i2c` does not live long enough ``` is `RefCellDevice` the wrong thing for this, would i have to use `CriticalSectionDevice` or `AtomicDevice` instead? i want to use it with async `postcard-rpc` APIs.