Migrate Material.addShaderChangeListener to Observer pattern