pub fn create_iface_manager(
phy_manager: Arc<Mutex<dyn PhyManagerApi + Send>>,
client_update_sender: ClientListenerMessageSender,
ap_update_sender: ApListenerMessageSender,
dev_monitor_proxy: DeviceMonitorProxy,
saved_networks: Arc<dyn SavedNetworksManagerApi>,
local_roam_manager: Arc<Mutex<dyn LocalRoamManagerApi>>,
connection_selection_requester: ConnectionSelectionRequester,
telemetry_sender: TelemetrySender,
recovery_receiver: Receiver<RecoverySummary>
) -> (Arc<Mutex<IfaceManager>>, impl Future<Output = Result<Infallible, Error>>)