How would you design a driver layer that allows for easy hardware abstraction across different sensor versions for Oura wearable devices?