support custom listener order and fix listener order caused issue