This change adds a common I2C class, gathering various I2C functions into a single point of responsibility. It's necessary for correctly managing the I2C bus pins and state across multiple devices.