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