Retain the callback to keep the listener alive