Using LCD Class Object as static member

I do happen to agree though... I don't know what a PCI is in this regards or why you need only one instance of it but if the LCD is static to PCI like this then access via PCI::lcd.print() is simpler for sure. You'd probably need to add something like PCI::init() and use that to hit lcd.begin() etc or whatever the LCD needs.

But even...does the LCD need to be static at all? If you only ever allow one instance of a PCI then isn't that no different from just having it as a PCI member variable? Only one LCD will get instantiated too.