the DefaultPromiseListener  not been written in generic,so if reuse this,then need rewrite it,and provide an new generic class which may be named DefaultEventListeners.