Add extra_data argument to callback methods