refact delegate
refect delegate
add testcase for multi-instance ExecutionListener