globale Variablen "auslagern"?

Das stimmt so nicht. Interfaces existieren nicht als Konzept wie in C# oder Java (wo sie konsequent in den Framework Libraries verwendet werden), aber sie sind letztlich nur abstrakte Basisklassen die nur abstrakte Methoden enthalten.
Du kannst auch eine abstrakte Basisklasse haben die nicht-virtuelle Methoden oder Variablen enthält.