added class ChangeCollector (can be used accumulate changes for
asynchronous processing)