separa ReteStateChangedListenerImplementation