observer pattern for cure