Wie dein Code jetzt aussieht, weiß ich aber dadurch immer noch nicht.
Static dient einem bestimmten Zweck. Die Art, wie du es benutzt, ist nicht gut. Du machst irgendwelche Variablen static, extern oder global, um damit deine hausgemachten Designprobleme zu lösen. Das ist nicht Sinn der Sache. Ob eine Variable static oder nicht ist, oder meinetwegen auch global, sollte das Ergebnis einer Designentscheidung sein, und nicht Lösung für ein Zugriffsproblem, verursacht durch nicht erfolgtes Design.
Das ist, als ob du beim Hausbau alle Steckdosen und Wasseranschlüsse im Keller angebracht hast, und jetzt Unmengen an Verlängerungskabeln und Schläuchen quer durch das ganze Haus ziehst, wo du eben gerade Strom oder Wasser brauchst. Kabel und Schläuche an sich sind nichts schlechtes, aber du behandelst damit nur die Symptome deines Problems.
Ganz ehrlich, die einzige richtige Lösung wäre IMHO Wegwerfen-Neumachen, aber diesmal mit einem ordentlichen objektorientierten Design. Du solltest dir diese Vorgehensweise abgewöhnen.