refactor WorkingMemoryEventListener to RuleRuntimeEventListener