add send callback option

example reasons, allow user to transform data before send or process it later in a queue