Make subscriber notification optional

- Make subscriber notification optional
- pass a `whatChanged` object to subscriber callbacks