Add a setOnUpdateView callback, update the APIs a bit.