Why does this need to pass an instance of the client? The callback registers with an instance of the client via client.register...(), so if at all it requires the client later (when we move to injected client), it can store the client instance as an instance variable.