Having to create two identical instances when using I2C hub

What exactly do you feel confusing?

beginTransmission and endTransmission are almost self-explanatory to the coder. The library reference documents the usage of the subroutines, not the protocol on the bus. Hardware abstraction is the most important part of a software development system.