Genau:

Design Pattern: Farbrikklasse
Vielleicht überdenkst du auch einfach nochmal deine Programmlogik. Lässt sich bestimmt auch anders realisieren. Derartige "Probleme" hatte ich z.B. noch nie gehabt. Du weißt ja, alle Wege führen nach Rom und verschiedene Logiken bringen letztendlich das Gleiche Ergebnis.