Added OnMessageDismissListener

Useful for transaction based action, like save a record on database,
avoiding destroy information early.
Changing "hide delay" from constant to property