How does it work?
Discover how TrackerDog works.
TrackerDog produces proxies of your POCO class instances to intercept its properties and detect changes. Actually, when you turn a POCO instance into a change-trackable object, you don't get the same instance but a proxy that derives from your POCO class as a new instance.
In addition, proxies implement INotifyPropertyChanged and collection property object proxies implement INotifyCollectionChanged which let you listen changes easily without wasting your time implementing these interfaces manually!