globale Variablen "auslagern"?

Daher haben viele Elemente veränderliche Positionen und Inhalte, so dass ich aus mehreren Unterfunktionen Zugriff auf die Variablen haben muss...

class Element : public HasPosition
{
  protected:
  Position position;

  public:
  virtual void draw(DisplayDriver &display) = 0;
}

Natürlich stark vereinfacht....
Aber so kann jedes Element seine eigene Position beinhalten, und sich selber malen.