sure i can borrow, but only for the duration of a method call. Once i want to borrow for the entire lifetime of the object I need to wrap it in a mutex/refcell right? some context: My (async) main creates several "components", e.g. Motor, sensor, etc but also stuff that communicates (each gets they're own handle to interface with mqtt). Each component has its own SubSetting (struct). It doesnt make sense that each Component synchronizes its configuration on its own with the server, instead there is one piece in the application which synchronizes the entire toplevel Settings struct (containing all the SubSetting structs). Now i wonder, how to best share SubSetting which the individual components. Ideally, I think I should be able to pass some &mut SubSetting already to the ctor of the component (`Motor::new(&mut settings.motor) ` ). Otherwise I have to pass it to every invocation (`motor.move_to(0, &setting.motor_settings)` ) which becomes cumbersome. But yeah, I'll take a deeper look at stabilizer / miniconf, to see how you tackled it there :)