Add a buffer parameter to on_data