Users want to execute custom code on model changes. We need to add listener support for this feature.