La solución clásica para este problema es utilizar exclusión mutua en el método de creación de la clase que implementa el patrón.