SoftI2C: Reuse existing instantiated class or create a new instance?

I'm using the SoftI2C library by Rhys Weatherley. SoftI2C class that implements the master side of the I2C protocol in software on any arbitrary pair of pins for DATA and CLOCK. The reason to use SoftI2C in this project is to overcome a PCB design error.

I want to know if I have to create a brand new instantiation of the SoftI2C class to be able to talk to a new device introduced on the I2C bus ... OR ... can I reuse the existing instantiation of the class that currently talks to the existing device.

To be clear, an LCD display is currently the only device on the I2C and the LCD library has been modified to use SoftI2C so that the Arduino Nano can display text on it. The LCD library creates an instance of the class from within the its code (.cpp) like this (only essential code parts are shown):

#include <../SoftI2C/SoftI2C.h>
#define I2C_SDA_PIN 17
#define I2C_SCL_PIN 16
SoftI2C softWire(I2C_SDA_PIN, I2C_SCL_PIN);
_i2cAddr     = 0x0;
_initialised = softWire.startRead(_i2cAddr, (uint8_t)1);

I'm now introducing a DS1307 RTC on the bus. Its address is 0x68, different than the LCD. I'd like to reuse the softWire instantiate class but I'm not sure whether it is publicly available for use or whether it is private.

Can I please have some guidance?

PS. I hope my explanation makes sense. I've lots of C programming experience but little to no C++ experience. I'm winging this mostly.

As long as you use the same bus (same pins on the Arduino) you should always use the same instance of SoftI2C. It owns these two pins for it's life so you have to reuse it.
DS1307 are very voltage picky so be careful to have a good and stable power supply.

Yes, the DS1307 is connected to the same Arduino pins as is the LCD. So, I guess the class is publically available once it has been instantiated, even if that instantiation occurs in the mainline code or in an included library (this was my concern). I guess I just have to be careful to start using the class only AFTER the LCD has been initialized.

The unit is going to be used in an automotive application so the power supply is good and stable; Vcc is derived from an LM2940 driven from Vbatt.

Thank you for the help and guidance.

So, I guess the class is publically available once it has been instantiated, even if that instantiation occurs in the mainline code or in an included library (this was my concern).

If it's visible to your code is something completely different. In many cases you can trick with "extern" declarations, otherwise you may have to modify the library to either get the object from the main code or provide it in the public area of it's declaration.