get rid of circular inclusion for a pseudo observer pattern