Observer pattern for crud material