But what I usually do: 1. Store a global singleton 2. Create proxies to that global singleton (i.e. a RefCell or other mutex'd accessor) 3. Pass an owned-proxy to the driver that needs to access the singleton