Let's see if it is a problem with ram.
Add this function to your code:
int freeRam () {
extern unsigned int __heap_start, *__brkval;
int v;
return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}
And then put
Serial.print(F("freeRam = "));
Serial.println(freeRam());
immediately after Serial.begin() in setup()
Run the code with the call to LedSign::Init() commented out and then run it again with it in and see what values are printed for freeRam.
You might also try putting LedSign::Init() after the Wire.begin() to see if that makes any difference.
Pete