replace the DomainChangeListener class with a signal/slot combo