This seems an better idea,and one more thing,could you please tell me the reson you add the DefaultPromiseListeners implement instead of some thing like list?
for performance?